このコマンドでAnacondaにopencv
をインストールしました:
conda install opencv
ターミナルでpython3.6
を実行すると、cv2
モジュールを問題なくインポートできます。
したがって、opencv
はAnacondaのパスに正常にインストールされました。
Python 3.6.1 |Anaconda custom (64-bit)| (default, May 11 2017, 13:09:58)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
しかし、cv2
にpython3.5
をインポートすると:
Python 3.5.3 (default, Jan 19 2017, 14:11:04)
[GCC 6.3.0 20170118] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named 'cv2'
したがって、システムのpythonではopencv
を使用できません。
そして、ここに質問があります。システムのpythonでAnacondaのモジュール(特にcv2
)をインポートするにはどうすればよいですか?
Anacondaのモジュールからシステムのpythonパスへのシンボリックリンクの作成方法
これは機能しませんし、モジュール検索パスとは関係ありません。
正しいモジュール検索パスを設定したか、モジュールcv2
のパスをシステムPythonの現在のモジュール検索パス内の場所にリンクしたと仮定しましょう。 Python 3.5.3は、Python 3.6.1用にコンパイルされたnativeモジュールをロードしようとします。残念ながら、異なるPythonバージョンには異なるABI(Application Binary Interface)があります。つまり、あるPythonバージョン用にコンパイルされたネイティブモジュールは、異なるPythonバージョンでは動作しません。これは、Pythonバージョン間の違いが大きいほど可能性が高くなります。バージョン文字列のドットの後の番号の変更は、すでに「主要な」変更と見なされます。
目的のPythonバージョンとインストールのために、そのモジュールを再度コンパイルしてインストールする必要があります。 OpenCV 3.1 for Python 3.5 on Ubuntu 16.04 LTSのインストール方法を参照してください?
AnacondaのサイトパッケージをPYTHONPATHに追加します。
PYTHONPATH=~/anaconda2/lib/python2.7/site-packages/ /usr/local/bin/python
(Anacondaのインストールとpythonバージョンに適応する必要があります)。
編集:Anacondaの外部にはないnumpyでテストしました。すべてのライブラリが機能することは保証されていません。バージョン固有である可能性があるためです。