13

私は、他のライブラリの中でも OpenCV (2.3.1) を使用する python のプロジェクトに取り組んでいます。これまでのところ、すべてを apt-get でインストールしましたが、すべてをまだインストールしていない可能性のある人とコードを共有したいと考えています。したがって、virtualenv は完璧なソリューションのように思えますが、私はこれを理解しています。

$ python src/importcv.py # does nothing but import cv, no problems
$ virtualenv .           # create virtualenv here
$ source bin/activate    # activates this virtualenv
(p)$ python src/importcv.py
Traceback (most recent call last):
  File "src/test.py", line 1, in <module>
    import cv
ImportError: No module named cv

virtualenv の設定方法に何か問題がありましたか、それとも opencv python バインディングを表示できるように他の手順を実行する必要がありますか?

4

5 に答える 5

7

Virtualenv は別の python 環境を作成します。すべての依存関係を再インストールする必要があります。編集 pip は opencv でうまく動作しないようです。モジュールが見つからないというエラーは、cv 共有オブジェクトを virtualenv にコピーすることで解決できます。以下にリンクされている質問の詳細。

于 2012-11-09T16:42:56.700 に答える
7

プロジェクトで makefile を使用して、Python virtualenv 内に OpenCV をインストールします。以下はボイラープレートの例です。または/usr/bin/pythonのようなものを使用して取得できる、システム Python ( ) 用の OpenCV バインディングが既に存在している必要があります。yum install opencv-pythonapt-get install python-opencv

最初にシステム Python のcv2モジュールにクエリを実行し、インストールされているライブラリ ファイルの場所を取得します。次にcv2.so、virtualenv ディレクトリにコピーします。

VENV_LIB = venv/lib/python2.7
VENV_CV2 = $(VENV_LIB)/cv2.so

# Find cv2 library for the global Python installation.
GLOBAL_CV2 := $(shell /usr/bin/python -c 'import cv2, inspect; print(inspect.getfile(cv2))')

# Link global cv2 library file inside the virtual environment.
$(VENV_CV2): $(GLOBAL_CV2) venv
    cp $(GLOBAL_CV2) $@

venv: requirements.txt
    test -d venv || virtualenv venv
    . venv/bin/activate && pip install -r requirements.txt

test: $(VENV_CV2)
    . venv/bin/activate && python -c 'import cv2; print(cv2)'

clean:
    rm -rf venv

(上記のスニペットをコピーして Makefile に貼り付けることができますが、実行sed -i s:' ':'\t':g Makefileなどでインデントをタブ文字に置き換えるようにしてください。)

これで、テンプレートを実行できます:

echo "numpy==1.9.1" > requirements.txt
make
make test

ここに記載されている問題を回避するために、シンボリック リンクの代わりに .so ファイルを実際にコピーすることに注意してください: https://stackoverflow.com/a/19138136/1510289

于 2013-10-06T20:05:43.273 に答える
2

opencv-python内にインストールしてみてくださいvenv。上記は機能するはずです。

pip install opencv-python

于 2021-04-14T08:54:46.433 に答える