我已经opencv
使用以下命令安装了 Anaconda:
conda install opencv
当我python3.6
在终端中运行时,我可以导入cv2
任何问题的模块。
这样就opencv
为Anaconda的路径安装成功了。
Python 3.6.1 |Anaconda custom (64-bit)| (default, May 11 2017, 13:09:58)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
但是当我导入cv2
时python3.5
:
Python 3.5.3 (default, Jan 19 2017, 14:11:04)
[GCC 6.3.0 20170118] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named 'cv2'
所以我无法opencv
在系统的python中使用。
问题是:如何cv2
在系统的 python 中导入 Anaconda 的模块(尤其是)?
如何创建符号链接从 Anaconda 的模块到系统的 python 路径?
答案1
这不会起作用,并且它与模块搜索路径无关。
假设您设法设置了正确的模块搜索路径,或者将模块的路径链接cv2
到系统 Python 当前模块搜索路径中的某个位置。现在 Python 3.5.3 将尝试加载本国的为 Python 3.6.1 编译的模块。遗憾的是,不同的 Python 版本具有不同的 ABI(应用程序二进制接口),这意味着为一个 Python 版本编译的本机模块往往无法在不同的 Python 版本中使用。Python 版本之间的差异越大,这种情况就越有可能出现。版本字符串中点后数字的变化已被视为“重大”变化。
您需要针对所需的 Python 版本和安装再次编译并安装该模块。请参阅如何在 Ubuntu 16.04 LTS 上为 Python 3.5 安装 OpenCV 3.1?
答案2
将 Anaconda 的站点包添加到 PYTHONPATH:
PYTHONPATH=~/anaconda2/lib/python2.7/site-packages/ /usr/local/bin/python
(您必须适应您的 Anaconda 安装和 Python 版本)。
编辑:我使用 numpy 进行了测试,但在 Anaconda 之外我没有。不能保证所有库都能正常工作,因为它们可能是特定于版本的。