2

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)
4

2 に答える 2

0

新しいバージョンのcmakeをインストールすることで、この問題を解決しました。私はUbuntu 14.04を使用していますが、このUbuntuに同梱されているcmakeのバージョンは、新しいバージョンのpythonを認識していないようです。

于 2016-01-28T12:29:20.373 に答える