webdevqa.jp.net

システムのpythonにAnacondaのモジュールをインポートする方法は?

このコマンドで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

しかし、cv2python3.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パスへのシンボリックリンクの作成方法

3
Ali Razmdideh

これは機能しませんし、モジュール検索パスとは関係ありません。

正しいモジュール検索パスを設定したか、モジュール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のインストール方法を参照してください?

1
David Foerster

AnacondaのサイトパッケージをPYTHONPATHに追加します。

PYTHONPATH=~/anaconda2/lib/python2.7/site-packages/ /usr/local/bin/python

(Anacondaのインストールとpythonバージョンに適応する必要があります)。

編集:Anacondaの外部にはないnumpyでテストしました。すべてのライブラリが機能することは保証されていません。バージョン固有である可能性があるためです。

0