在 Fedora 24 上为 Python 3 安装 OpenCV
Installing OpenCV for Python 3 on Fedora 24
我很认真地跟了makefile,嗯,它完成得很好。
在 CMake 输出中,有这样的:python(构建):2.7 而不是 3.5
但我阅读了 here 并引用了:
You can ignore the “for build” section, that part of the CMake script
is buggy.
但是我编译安装完成后:
$ python3
> import cv2
ImportError: 没有名为 'cv2'
的模块
我做错了什么?我需要指定 PYTHON3_PACKAGES_PATH、PYTHON3_LIBRARY、PYTHON3_INCLUDE_DIR 吗?我想在整个系统范围内安装 OpenCV,这样我就可以对它进行符号链接并在我可能需要 opencv 的任何 virtualenv 中使用它。提前致谢。
经过一些评论,我认为您的问题可能与设置库的路径有关。因此,在编译 OpenCV 之后(参见 here),我没有将它安装在系统的默认位置,而是将其安装在本地文件夹中(测试后更容易删除),所以我需要提供库的路径,这就是我这样做的原因:
$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/german/Programs/test-install/usr/local/lib
然后我还需要告诉 python 模块在哪里,因为它又不在默认路径中,所以我将 OpenCV 的路径附加到路径列表中:
$ python3
>>> import sys
>>> sys.path.append("/home/german/Programs/test-install/usr/local/lib/python3.5/site-packages/")
您可能需要在追加后检查您的 python 路径:
>>> sys.path
['',
'/usr/bin',
'/usr/lib64/python35.zip',
'/usr/lib64/python3.5',
'/usr/lib64/python3.5/plat-linux',
'/usr/lib64/python3.5/lib-dynload',
'/usr/lib64/python3.5/site-packages',
'/usr/lib/python3.5/site-packages',
'/usr/lib/python3.5/site-packages/IPython/extensions',
'/home/german/.ipython',
'/home/german/Programs/test-install/usr/local/lib/python3.5/site-packages/']
希望这有助于解决您的问题!
我很认真地跟了makefile,嗯,它完成得很好。
在 CMake 输出中,有这样的:python(构建):2.7 而不是 3.5
但我阅读了 here 并引用了:
You can ignore the “for build” section, that part of the CMake script is buggy.
但是我编译安装完成后:
$ python3
> import cv2
ImportError: 没有名为 'cv2'
的模块我做错了什么?我需要指定 PYTHON3_PACKAGES_PATH、PYTHON3_LIBRARY、PYTHON3_INCLUDE_DIR 吗?我想在整个系统范围内安装 OpenCV,这样我就可以对它进行符号链接并在我可能需要 opencv 的任何 virtualenv 中使用它。提前致谢。
经过一些评论,我认为您的问题可能与设置库的路径有关。因此,在编译 OpenCV 之后(参见 here),我没有将它安装在系统的默认位置,而是将其安装在本地文件夹中(测试后更容易删除),所以我需要提供库的路径,这就是我这样做的原因:
$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/german/Programs/test-install/usr/local/lib
然后我还需要告诉 python 模块在哪里,因为它又不在默认路径中,所以我将 OpenCV 的路径附加到路径列表中:
$ python3
>>> import sys
>>> sys.path.append("/home/german/Programs/test-install/usr/local/lib/python3.5/site-packages/")
您可能需要在追加后检查您的 python 路径:
>>> sys.path
['',
'/usr/bin',
'/usr/lib64/python35.zip',
'/usr/lib64/python3.5',
'/usr/lib64/python3.5/plat-linux',
'/usr/lib64/python3.5/lib-dynload',
'/usr/lib64/python3.5/site-packages',
'/usr/lib/python3.5/site-packages',
'/usr/lib/python3.5/site-packages/IPython/extensions',
'/home/german/.ipython',
'/home/german/Programs/test-install/usr/local/lib/python3.5/site-packages/']
希望这有助于解决您的问题!