1

ソースから opencv の最新バージョンを取得しましたが、残念ながら今のところ、1 台のマシンに 2 つの異なるバージョンが必要です。

したがって /usr/local/...、古いバージョンのデフォルトの場所と、新しいバージョンのカスタムの場所があります。

私の問題は、python ターミナルを開いて を実行しようとすると、新しいバージョンのディレクトリからimport cv2開始した場合にのみ、新しいバージョンをロードできることです。opencv/lib

使用するopencvのバージョンを切り替えることができるようにしたいのですが、理想的にはPythonスクリプト自体にあります。

LD_LIBRARY_PATHターミナルでいずれかPYTHONPATHまたは両方を設定するか、 を使用して環境変数を変更できると期待してos.environいましたが、成功しませんでした。

まず、lib新しいバージョンをロードするためにディレクトリにいなければならない理由がわかりません。次に、Python が環境変数を使用してモジュールをインポートする場所を動的に変更できない理由がわかりません。

どんな助けでも大歓迎です。

4

2 に答える 2

1

モジュールを使用してimp、指定したパスからインポートできます。

import imp
fp, pathname, description = imp.find_module('cv2', ['/path/to/opencv/'])
cv2 = imp.load_module('cv2', fp, pathname, description)

http://docs.python.org/library/imp.html

于 2012-07-25T02:12:46.217 に答える
0

sys モジュールを使用します。Python インタープリターが開始された後、実際には単なるリストである sys.path を介してモジュール パスを変更できます。

import sys
sys.path.append("/path/to/cv2")
于 2012-07-25T02:07:12.707 に答える