我正在努力尝试使用Python3.4.3安装OpenCV 3.0.0并使用pyenv安装虚拟环境。我在Ubuntu 14.04上。
我使用各种信息来源尝试了很多东西: http://www.pyimagesearch.com/2015/06/29/install-opencv-3-0-and-python-3-4-on-osx/ Running OpenCV from a Python virtualenv How to install ipython qtconsole with pyenv (Python version 3.4.2) how to make obb file
对我来说,困难的部分是从pyenv链接到正确的python。我在pyenv中安装了3.4.3共享库(env PYTHON_CONFIGURE_OPTS =“ - enable-shared”pyenv install 3.4.3)和一个名为“dev”的virtualenv,安装了numpy并正常工作。
我的cmake命令如下:
PREFIX_MAIN=`pyenv virtualenv-prefix`
PREFIX=`pyenv prefix`
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX="$PREFIX" \
-D PYTHON3_LIBRARY="$PREFIX_MAIN"/lib/libpython3.4m.so \
-D PYTHON3_INCLUDE_DIRS="$PREFIX_MAIN"/include/python3.4m \
-D PYTHON3_EXECUTABLE="$PREFIX"/bin/python3.4 \
-D PYTHON3_PACKAGES_PATH="$PREFIX"/lib/python3.4/site-packages/ \
-D PYTHON3_NUMPY_INCLUDE_DIRS="$PREFIX"/lib/python3.4/site-packages/numpy/core/include \
-D INSTALL_C_EXAMPLES=ON \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D BUILD_EXAMPLES=ON \
-D BUILD_opencv_python3=ON \
-D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules ..
但是cmake仍然不想找到Python 3 Libraires(参见下面的cmake输出):
-- Python 2:
-- Interpreter: /home/group/.pyenv/shims/python2.7 (ver 2.7.6)
--
-- Python 3:
-- Interpreter: /home/group/.pyenv/versions/dev/bin/python3.4 (ver 3.4.3)
-- Libraries: NO
-- numpy: /home/group/.pyenv/versions/dev/lib/python3.4/site-packages/numpy/core/include (ver 1.10.0.post2)
-- packages path: /home/group/.pyenv/versions/dev/lib/python3.4/site-packages
--
-- Python (for build): /home/group/.pyenv/shims/python2.7
此外,它似乎想使用“/home/group/.pyenv/shims/python2.7”进行构建。我不认为这是问题。
调查cmake输出我发现了以下内容:
-- Found PythonInterp: /home/group/.pyenv/versions/dev/bin/python3.4 (found suitable version "3.4.3", minimum required is "3.4")
-- Could NOT find PythonLibs: Found unsuitable version "3.4.0", but required is exact version "3.4.3" (found /home/group/.pyenv/versions/3.4.3/lib/libpython3.4m.so)
似乎libpython3.4m.so是版本3.4.0 ..虽然我明确安装了3.4.3 ......这可能是问题吗?我怎样才能获得正确的PythonLib?
我对这些事情的经验很少,我坦率地失去了......
编辑:我试图在我的pyenv(env PYTHON_CONFIGURE_OPTS =“ - enable-shared”pyenv install 3.4.0)上使用python版本3.4.0进行编译,并且它使用上面的cmake命令工作。 opencv要么明确地想要3.4.0要么我不明白为3.4.3安装的共享库是如何实际看到的那样3.4.0 ... 编辑:pyenv下的python 2.7.10也有同样的问题,你应该使用2.7.6 ...-- Found PythonInterp: /home/group/.pyenv/versions/cv2/bin/python2.7 (found suitable version "2.7.10", minimum required is "2.7")
-- Could NOT find PythonLibs: Found unsuitable version "2.7.6", but required is exact version "2.7.10" (found /home/group/.pyenv/versions/2.7.10/lib/libpython2.7.so)
答案 0 :(得分:0)
我通过安装较新版本的cmake解决了这个问题。我使用的是Ubuntu 14.04,看来这个Ubuntu附带的cmake版本并不能理解python的新版本。
答案 1 :(得分:0)
好的,也为我解决了!
我有ubuntu 14.04 LTS,anaconda2,我跟着:http://www.pyimagesearch.com/2015/06/22/install-opencv-3-0-and-python-2-7-on-ubuntu(没有contrib文件夹)
我经常点击'#34;不合适的版本"问题。为我解决的问题是将python降级为我的python2.7-dev的精确版本,即2.7.6。
当然,在我的anaconda环境中:
conda install python=2.7.6
目前,我还不知道如何将python2.7-dev库升级到2.7.11(此时此刻我不敢问;)
将cmake升级到3.2.2也可能有所帮助,但它本身并没有解决问题。
希望它有所帮助!
P.S。如果你知道怎么做的话,请注释如何轻松安全地升级python2.7-dev。