我最近使用 apt 卸载了libopencv
/python-opencv
软件包,以便手动安装更新的版本。但由于某种奇怪的原因,在删除python-opencv
它时卸载cinnamon
了mint-meta-cinnamon
。现在,我似乎找不到cinnamon
不重新安装 就可以重新安装的方法python-opencv
。
tdos@thinkpad:~$ sudo apt-get install cinnamon
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
python-opencv
The following NEW packages will be installed:
cinnamon python-opencv
0 upgraded, 2 newly installed, 0 to remove and 92 not upgraded.
Need to get 327 kB/795 kB of archives.
After this operation, 3,742 kB of additional disk space will be used.
Do you want to continue? [Y/n]
到底发生什么事了?
编辑
OpenCV 是一个计算机视觉库,似乎与cinnamon
桌面环境完全无关(python-opencv
包是一种安装库的 Python 绑定的方法libopencv
)。我不知道为什么在我的系统上创建了两者之间的依赖关系,但我怀疑 cinnamon 依赖于 opencv。
答案1
的软件包cinnamon
包含有关必须安装哪些其他软件包才能使其工作的信息,这些是依赖项。 的软件包python-opencv
是必需的cinnamon
,但反过来则不是(显然)。
“正确”的解决方案是找到一个python-opencv
打包为 .deb 文件的更高版本,以便包管理器知道它存在,并可以检查它是否满足包的要求cinnamon
。
您不能简单地保留现有python-opencv
安装的软件包,然后在其上安装新版本,因为稍后可能会发布一个补丁来覆盖您的新版本,但如果您绝对有信心您知道自己在做什么,您可以保留现有安装python-opencv
的软件包,并“保留”该软件包以使其不被更新,然后用您自己的版本覆盖它....只要您的版本被编译为安装在相同的位置....这绝对不适合初学者....
您可以使用:-
sudo apt-mark hold package_name
sudo apt-mark unhold package_name
要将python-opencv
包保留在当前版本,然后在编译新版本时,请确保将 PREFIX 设置为/usr
,/usr/local
例如而不是。
答案2
看来 cinnamon 确实使用 opencv 库来访问网络摄像头。找到了相关的 github 问题这里:
krasnoglaz 评论2013 年 10 月 12 日
我发现 /files/usr/lib/cinnamon-settings/modules/cs_user.py 脚本中使用 opencv 来访问网络摄像头。仅包含用于网络摄像头访问的庞大复杂库是不是有点过分了?
这是我们所知的检测网络摄像头是否正常工作并拍照的最佳方法。