4

私は過去数日間、opencv を Python 2.7 インストールで動作させようとしました。「import cv」を試行するたびに、opencv モジュールが見つからないというエラーが表示され続けました。

次に、Macports を使用して opencv をインストールしようとしましたが、うまくいきませんでした。

次に、Homebrew を試してみましたが、これもうまくいきませんでした。

最終的に、PYTHONPATH を次のように変更する必要があることを発見しました。

私の問題は、/usr/local/lib/python2.*...etc が見つからなかったことです。フォルダーが存在しないだけです。

だから私の質問はこれです:OS X Snow LeopardにPythonを正しくインストールして、opencvで動作させるにはどうすればよいですか?

どうもありがとう、

4

4 に答える 4

7

私はこれに数日を費やしました。私にとっての問題は、OpenCV インストーラーが適切な python インストールを見つけられなかったことです。自作でpythonをアップグレードし、pythonにvirtualenvを使用していたにもかかわらず、MacOSにインストールされたバージョンにデフォルト設定されていました。ここの要旨にセットアップのほとんどを集めました: https://gist.github.com/4150916

自作を使用してすべての依存関係を取得しますが、OpenCV tarball をダウンロードして自分でコンパイルし、Python 関連の構成オプションをすべて指定してください。

「opencv」という名前の仮想環境を想定しています...

cd OpenCV-2.4.3/
mkdir release
cd release
cmake -D PYTHON_EXECUTABLE=$WORKON_HOME/opencv/bin/python \
 -D PYTHON_PACKAGES_PATH=$WORKON_HOME/opencv/lib/python2.7/site-packages \
 -D INSTALL_PYTHON_EXAMPLES=ON\
 -D PYTHON_INCLUDE_DIR=/usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Headers\
 -D PYTHON_LIBRARY=/usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/2.7/lib/libpython2.7.dylib\
..
make -j8
make install
于 2012-11-26T22:10:11.523 に答える
2

python2.7インストールを使用してモジュールをインストールする必要があります。2.6でインストールされたものを2.7で実行するようにPYTHONPATHを指定するのは、悪い考えです。

インストール方法に応じて、python2.7 setup.pyまたはのeasy_install-2.7 opencvようにインストールします。

fwiw、OS Xでは、モジュールは通常/System/Library/Frameworks/Python.framework/にインストールされますが、サイトパッケージにインストールされているものが物理的にどこにあるかを知る必要はほとんどありません。Pythonが助けなしにそれらを見つけることができない場合は、それらを間違ってインストールしました。

于 2011-08-20T01:37:28.663 に答える
1

Homebrew で OpenCV をインストールする

brew tap homebrew/homebrew-science
brew install opencv

Python のセットアップ

インストール場所に応じて - OS X デフォルト

cd /Library/Python/2.7/site-packages/

または - 自作の Python

cd /usr/local/lib/python2.7

次に、シンボリックリンクを作成します

ln -s /usr/local/Cellar/opencv/2.4.9/lib/python2.7/site-packages/cv.py cv.py
ln -s /usr/local/Cellar/opencv/2.4.9/lib/python2.7/site-packages/cv2.so cv2.so

上記の方法は、ブログ投稿から入手しました。

于 2013-07-29T05:46:48.123 に答える