14

Ubuntu Server 12.04 の virtualenv 内に OpenCV をインストールしようとしています。これについて議論しているスレッドを見つけましたが、そこから情報を抽出することはできませんでした。

使ってみpip install pyopencvましたがだめでした。

...
package/extras/core/ndarray.cpp:598:1:   instantiated from here

package/extras/core/ndarray.cpp:546:9: warning: format ‘%d’ expects argument of type ‘int’, but argument 4 has type ‘Py_intptr_t {aka long int}’ [-Wformat]

package/extras/core/ndarray.cpp: In function ‘boost::python::api::object sdcpp::from_ndarray_impl(const sdcpp::ndarray&) [with T = cv::Scalar_<double>]’:

package/extras/core/ndarray.cpp:601:1:   instantiated from here

package/extras/core/ndarray.cpp:546:9: warning: format ‘%d’ expects argument of type ‘int’, but argument 4 has type ‘Py_intptr_t {aka long int}’ [-Wformat]

package/extras/core/ndarray.cpp: In function ‘boost::python::api::object sdcpp::from_ndarray_impl(const sdcpp::ndarray&) [with T = cv::Range]’:

package/extras/core/ndarray.cpp:604:1:   instantiated from here

package/extras/core/ndarray.cpp:546:9: warning: format ‘%d’ expects argument of type ‘int’, but argument 4 has type ‘Py_intptr_t {aka long int}’ [-Wformat]

error: command 'gcc' failed with exit status 1

このエラーは、 を 2 回目に実行したときにのみ発生しますpip install。残りのフォルダーを削除すると、build/このエラーが発生します。

-- Configuring incomplete, errors occurred!

Configuring PyOpenCV via CMake...

Error: error occurred while running CMake to configure PyOpenCV.

You may want to manually configure PyOpenCV by running cmake's tools:

    mkdir build

    cd build

    cmake-gui ..    OR    cmake ..

    cd ..

----------------------------------------
Command python setup.py egg_info failed with error code 255

少なくとも次の apt パッケージがインストールされています。

build-essential
uuid-dev
python-dev
python-pip
libpq-dev
cmake
libboost-dev
libcv-dev
libcvaux-dev
libboost-python-dev
libboost1.48-dev

virtualenv 内に OpenCV をインストールするにはどうすればよいですか?

4

3 に答える 3

13

virtualenv を起動し、このガイドに従いました: http://www.samontab.com/web/2011/06/installing-opencv-2-2-in-ubuntu-11-04/、共有された cv を操作してコピーするまでオブジェクト。代わりに、cv.so (OpenCV-2.2.0/lib ディレクトリから) を virtualenv サイト パッケージ (例: env/lib/python2.7/site-packages/) にコピーしました。cv.so が私の環境に入ると、Python 内で cv をインポートすることができました。

于 2012-11-09T20:29:13.230 に答える
9

これは、pyenv と virtualenv プラグインを使用する最もクリーンな方法です。

共有ライブラリをサポートする Python をインストールします (したがって、Mac OS X では libpython2.7.dylib、Linux では libpython2.7.so を取得します)。

env PYTHON_CONFIGURE_OPTS="--enable-shared" pyenv install -v 2.7.6

インストールしたばかりの python のバージョンに基づいて、virtualenv を作成します。

pyenv virtualenv 2.7.6 myvirtualenv

virtualenv を有効にします。

pyenv shell myvirtualenv
pyenv rehash

ナンパをインストールします。そうしないと、opencv は自分自身を Python に正しくリンクできません。

pip install numpy

Python インストールのプレフィックスを設定します。

PREFIX_MAIN=`pyenv virtualenv-prefix`

環境のプレフィックスを設定します。(原文! これらの pyenv コマンドの名前は少し欺瞞的です!)

PREFIX=`pyenv prefix`

次に、opencv を構成してインストールします。Python インストールの動的ライブラリとインクルードが使用されている間、opencv バイナリとパッケージが virtualenv にインストールされることに注意してください。

cd openCV2.4
mkdir release
cd release
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX="$PREFIX" -DPYTHON_EXECUTABLE="$PREFIX"/bin/python2.7 -DPYTHON_LIBRARY="$PREFIX_MAIN"/lib/libpython2.7.so -DPYTHON_INCLUDE_DIR="$PREFIX_MAIN"/include/python2.7 -DPYTHON_PACKAGES_PATH="$PREFIX"/lib/python2.7/site-packages/ ..
make install

(OSX では、libpython2.7.so を libpython2.7.dylib に置き換えます。)

于 2014-06-09T00:14:00.287 に答える
0

あなたはもうしましたapt-get build-dep python-opencvか?これにより、ソースからビルドするために必要なすべての依存関係がインストールされます。仮想環境にインストールしようとしている場合に必要です。

于 2013-01-27T09:25:42.587 に答える