Я изо всех сил пытаюсь установить OpenCV 3.0.0 с Python3.4.3 и виртуальным env с помощью pyenv. Я на Ubuntu 14.04.Установить OpenCV3.0 с помощью python 3.4.3 в виртуальной среде (pyenv)
Я пробовал много вещей, используя различные источники информации: http://www.pyimagesearch.com/2015/07/20/install-opencv-3-0-and-python-3-4-on-ubuntu/ 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)
Твердая часть для меня было связать с правильным питона от pyenv. У меня есть 3.4.3, установленный в pyenv с общими библиотеками (env PYTHON_CONFIGURE_OPTS = "- enable-shared" pyenv install 3.4.3) и virtualenv с именем "dev" с установленным и работающим 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 Ouput я нашел следующее:
-- 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 ... Может ли это быть проблема? Как я могу получить правильные PythonLibs?
У меня очень мало опыта работы с этими вещами, и я откровенно потерял здесь ...
EDIT: Я пытался компилировать с питона версии 3.4.0 на моем pyenv (ENV PYTHON_CONFIGURE_OPTS = "- разрешающим общий «pyenv install 3.4.0»), и он работал с помощью команд cmake выше. Либо opencv хочет явно 3.4.0, либо я не понимаю, как общая библиотека, установленная для 3.4.3, на самом деле рассматривается как 3.4.0 ...
EDIT: та же проблема с python 2.7.10 под pyenv, вы должны использование 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)
Я обновил cmake до 3.2.2 (http://askubuntu.com/questions/610291/how-to-install-cmake-3-2-on-ubuntu-14-04), но я все равно получаю '' ' Не удалось найти PythonLibs: найти неподходящую версию «2.7.6», но требуется точная версия «2.7.11» '' 'при запуске cmake для opencv 3.1. Любые другие идеи? – visoft