我在 CentOS6.7 上,我正在构建 opencv-2.4.10(我删除了 2.4.9,因为我的 python cv2 包似乎与 opencv-2.4.9 下不兼容。当我打印 cv2.__version__ 时python,它显示 2.4.10 所以我想我应该将 opencv 升级到 2.4.10,因为 python cv2 只是真正的 c++ opencv 的 python 包装器。无论如何..)
与 python 相关的唯一环境变量是 PYTHON_PATH。
ckim@stph45:~/Downloads/opencv-2.4.10/build] echo $PYTHON_PATH
/home/ckim/anaconda2/lib/python2.7/site-packages/
在/home/ckim/Downloads/opencv-2.4.10/build 目录下,我做了
cmake -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_EXAMPLES=ON -D
CUDA_GENERATION=Auto ..
我可以看到结果配置消息,其中一些与 python 相关的消息对我来说似乎很奇怪。见下文。
....
-- Python:
-- Interpreter: /home/ckim/anaconda2/bin/python2 (ver 2.7.12)
-- Libraries: /usr/local/lib/libpython2.7.so
-- numpy: /home/ckim/anaconda2/lib/python2.7/site-packages/numpy/core/include (ver 1.10.2)
-- packages path: lib/python2.7/site-packages
....
解释器和 numpy 正确指向我的 anaconda2 python 环境,但为什么库指向安装在我系统中的 python(不是 anaconda2)?
我尝试按照指示在 cmake 命令中传递与 python 相关的变量 here但这没有帮助。在 CentOS 上安装东西几乎总是不是一件轻而易举的事,但我坚持使用 CentOS。
最佳答案
我通过以下命令成功构建了 opencv-2.4.10。
使清洁; cmake -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_EXAMPLES=ON -D CUDA_GENERATION=Auto -D PYTHON_INCLUDE_DIR=/home/ckim/anaconda2/include/python2.7/PYTHON_LIBRARY=/home/ckim/anaconda2/lib/libpython2.7 .so .. | & tee log.cmake
使-j8 | & tee log.make
现在已安装 opencv-2.4.10 并且 cv2 也是 2.4.10。
当我查看 log.cmake 时,我仍然看到
Libraries: /usr/local/lib/libpython2.7.so (ver 2.7.12)
但无论如何编译是成功的,所以我似乎可以忽略这个配置消息,我在命令行中设置的参数(PYTHON_LIBRARY)只重要。
关于python - 在 opencv-2.4.10 构建期间设置 PYTHON_LIBRARY,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38394084/