【问题标题】:Ubuntu 16.04 Django 1.11.5 virtualenv opencvUbuntu 16.04 Django 1.11.5 virtualenv opencv
【发布时间】:2017-09-20 02:00:58
【问题描述】:

我是 Ubuntu 新手,对 Web 开发也很陌生,所以我希望我缺少一些明显的东西。

我的问题如下:我有一个运行 Ubuntu 16.04 的盒子,我的 Django 项目带有一个 virtualenv。激活 virtualenv 后,我运行了pip install opencv-python,它似乎工作了(所有文件似乎都在我认为它们需要的位置(env/lib/python3.5/site-packages/{cv2,numpy})。

但是当我运行manage.py 时,我收到一个错误,该错误可追溯到opencv 包中的__init__.py

ImportError: libSM.so.6: cannot open shared object file: No such file or directory.

当我在 virtualenv 中以交互方式运行 python 并尝试导入 cv2 时,我遇到了同样的错误。

错误中的.cv2 是命名空间吗?有没有办法我可以获得更多信息或对命名空间进行 python 搜索?

【问题讨论】:

  • 请复制粘贴完整的回溯,而不是使用图像:不是每个人都能看到或阅读图像,而且它几乎不可读。
  • 如错误提示,您需要libSM 库。使用sudo apt-get install libsm6 可以解决问题,或者尝试sudo apt-get install libsm-dev 并重新安装OpenCV。

标签: python django opencv ubuntu virtualenv


【解决方案1】:

Evert 的评论是正确的。我按照他的步骤,得到了一个不同但相似的错误。原来我必须安装libxrender1

以下是我使用的步骤:

  1. 激活我的虚拟环境
  2. 卸载opencv-python
  3. sudo apt-get install libsm6
  4. 重新安装opencv-python
  5. sudo apt-get install libxrender1

【讨论】:

  • 请更新您的答案以准确解释您采取了哪些步骤,否则其他人将无法重现此问题。 StackOverflow 不是一个论坛,它是一个 QA 站点,所以不要将答案视为回复;它们需要完整。
  • 如果这些步骤有效,请将其标记为正确。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-31
  • 2016-12-08
  • 1970-01-01
  • 2019-07-29
  • 2016-08-16
  • 2018-04-26
相关资源
最近更新 更多