web-dev-qa-db-ja.com

virtualenvからopencv(pythonバインディング)を実行することは可能ですか?

すべてをvirtualenv内に保持したいと思います。これはOpenCVで可能ですか?私は最初からビルドすることに問題はありません。最初にvirtualenvをセットアップしてから、特別なコンパイルフラグを使用して、インストール先を指定する必要がありますか?

32
xamox

解決策は、cv2.soとcv.pyをvirtualenvを実行しているディレクトリにコピーし、次にpip install numpyを実行する必要があることでした。 Ubuntu 12.04でこれを行うには、私が使用しました。

virtualenv virtopencv
cd virtopencv
cp /usr/local/lib/python2.7/dist-packages/cv* ./lib/python2.7/site-packages/
./bin/pip install numpy
source bin/activate
python
import cv
41
xamox

Opencvから インストールガイド

デフォルトでは、OpenCVビルドシステムは、Pythonが検出できる最新バージョンを選択するか、またはcmakeを呼び出すときにPYTHON_EXECUTABLE変数を使用して特定のバージョンを使用するように強制できます。)

上記のリンクの指示に従って、ubuntu 11.10のvirtual env --with-no-site-packageにインストールしました。 opencv全体をビルドする必要があります。そしてpython一緒にラッパー。

編集1:

  1. 一時ディレクトリを作成します。このディレクトリには、生成されたMakefile、プロジェクトファイル、オブジェクトファイル、出力バイナリを配置します。

    cd ~/opencv
    mkdir release
    cd release
    cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
    
  2. 作成した一時ディレクトリ()を入力し、次の手順に進みます。

    make
    Sudo make install
    

---------

ビルドとインストールの後、PYTHON_PATHに拡張モジュールを追加します

export PYTHONPATH=~/projects/opencv/release/lib:$PYTHONPATH
5
pylover

Debianでは、python-opencv、python-virtualenv、python-pipを適切にインストールしてから、オプション--system-site-packagesを使用してvirtualenvを作成しました。

4
yuval

これは、python実行可能ファイルをcmakeへの引数として渡すことで可能になります。また、ローカルインストールフォルダーを使用することをお勧めします。そのため、Sudoはまったく必要ありません。その後、make installはSudo権限を要求しません。おそらくvirtualenv pythonをターゲットにしています。

Cmake-guiを使用してcmakelists.txtを開き、python変数を確認します。virtualenvにnumpyがない場合もおそらくエラーが発生するため、正しい方法を選択していることがわかりますpython。python実行可能ファイル用に特別に構築されているため、これはpythonバージョンとは関係なく動作します

0