OpenCV 3.0.0 を Python3.4.3 で、pyenv を使用して仮想環境にインストールしようとして苦労しています。私はUbuntu 14.04を使用しています。
さまざまな情報源を使用して多くのことを試しました: http://www.pyimagesearch.com/2015/07/20/install-opencv-3-0-and-python-3-4-on-ubuntu/ http://www.pyimagesearch.com/2015/07/20/install-opencv-3-0-and-python-3-4-on-ubuntu/ www.pyimagesearch.com/2015/06/29/install-opencv-3-0-and-python-3-4-on-osx/ Python virtualenv から OpenCV を実行 する方法 pyenv (Python バージョン 3.4. 2)
私にとって難しい部分は、pyenv から正しい python にリンクすることでした。3.4.3 を共有ライブラリ (env PYTHON_CONFIGURE_OPTS="--enable-shared" pyenv install 3.4.3) と共に pyenv にインストールし、numpy をインストールして動作させた「dev」という virtualenv をインストールしました。
私の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 をインストールしましたが...これが問題でしょうか? 適切な PythonLibs を取得するにはどうすればよいですか?
私はこれらのことについてほとんど経験がなく、率直に言ってここで迷っています...
編集: 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)