安装opencv 3.0的CMAKE找不到python3

时间:2017-10-07 23:37:21

标签: macos python-3.x opencv

我正在尝试在MacOS 10.13上安装opencv 3.0,当我使用这些说明时:

cmake -D CMAKE_BUILD_TYPE=RELEASE \
    -D CMAKE_INSTALL_PREFIX=/usr/local \
    -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules \
    -D PYTHON3_LIBRARY=YYY \
    -D PYTHON3_INCLUDE_DIR=ZZZ \
    -D PYTHON3_EXECUTABLE=$VIRTUAL_ENV/bin/python \
    -D BUILD_opencv_python2=OFF \
    -D BUILD_opencv_python3=ON \
    -D INSTALL_PYTHON_EXAMPLES=ON \
    -D INSTALL_C_EXAMPLES=OFF \
    -D BUILD_EXAMPLES=ON ..

安装程序找不到我的python 3编译器并向我显示:

Python 3:
--     Interpreter:                 NO
--     Libraries:                   NO
--     numpy:                       NO (Python3 wrappers can not be generated)
--     packages path:    

我如何修复它以找到python 3编译器? 我已经使用“brew install python3”

安装了python3

2 个答案:

答案 0 :(得分:1)

您可能需要提供完整路径。也许$VIRTUAL_ENV部分是你的问题?使用virtualenv python3安装它(例如使用numpy)可能完全是一个完全不同的问题。

-DBUILD_opencv_python3=ON
-DPYTHON3_EXECUTABLE=/full/path/to/bin/python3
-DPYTHON3_LIBRARY=/full/path/to/lib
-DPYTHON3_INCLUDE_DIR=/full/path/to/include
-DBUILD_opencv_python2=OFF

你提到了brew的OSX,所以你可能也会在这里错过一个有点神秘的路径问题。在我的系统上,我已经安装了brew的python3,我安装的版本是3.6.2。所以这些路径实际上需要

/usr/local/Cellar/python3/3.6.2/Frameworks/Python.framework/Versions/3.6/bin/python3
/usr/local/Cellar/python3/3.6.2/Frameworks/Python.framework/Versions/3.6/lib
/usr/local/Cellar/python3/3.6.2/Frameworks/Python.framework/Versions/3.6/include/

Frameworks的东西是特定于OSX的东西,但bin/文件夹的符号链接最多为/usr/local/Cellar/python3/3.6.2而其他文件夹(libinclude)不会

无论其

为什么不使用brew来安装它? brew info opencv显示opencv.rb,其中使用python3。这可能是阻力最小的路径;)

请注意,OpenCV “装瓶”,这意味着默认brew将首先尝试安装瓶子。通常最好从源代码安装OpenCV(它会被编译到你的特定机器上),所以你会希望

brew install --build-from-source opencv

当然,安装需要更长的时间!

更新:您可能尚未在brew中直接使用opencv,为了获得它,

brew tap homebrew/science
brew install --build-from-source opencv

有关此问题的更多信息以及homebrew/science here附带的内容。

答案 1 :(得分:0)

我遇到与主题启动器相同的问题, brew 的方式对我有用。

唯一的事情:

brew install --build-from-source opencv安装了opencv for python2

brew install --build-from-source opencv3为python3工作