apt-get install cinnamon 强制安装 python-opencv

apt-get install cinnamon 强制安装 python-opencv

我最近使用 apt 卸载了libopencv/python-opencv软件包,以便手动安装更新的版本。但由于某种奇怪的原因,在删除python-opencv它时卸载cinnamonmint-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 来访问网络摄像头。仅包含用于网络摄像头访问的庞大复杂库是不是有点过分了?

克莱费弗尔评论2013 年 10 月 16 日

这是我们所知的检测网络摄像头是否正常工作并拍照的最佳方法。

相关内容