web-dev-qa-db-ja.com

Condaによってインストールされたパッケージ、Pythonはそれを見つけることができません

Theano by Anacondaをインストールしてみます。動作しますが、python -iと入力すると、import theanoNo module named 'theano'を表示します。Pythonの別のインタープリターを切り替える必要がありますか?また、パッケージについてcondaによってインストールされた場合、それらをダブルインストールしなくても、Pythonで見つけることができますか?PythonはPythonによってAnacondaに関連付けられていますか?ありがとう!!!)

12
user3598832

同様の問題があり、foliumをインストールしようとしました。 Anacondaを使用している場合:

conda install -c conda-forge foliumを使用してインストールすると、パッケージは次の場所に配置されます。

./anaconda3/envs/[name env]/lib/python3.7/site-packages/folium

(anaconda envをアクティブにして)pipを使用してインストールする場合、pip install foliumの場合、パッケージは次の場所に配置されます。

./anaconda3/lib/python3.7/site-packages/folium

Pythonは、手動でビルドされたpythonパッケージのターゲットディレクトリとして、sites-packagesをfirstとして使用します。ビルドしてインストールする場合= pythonソースからのパッケージ(おそらくdistutilsを使用してpython setup.py installを実行することにより))、インストールされているモジュールはデフォルトでsite-packagesにあります。

この場合、2つの場所があります:/anaconda3/lib/python3.7/site-packages/および/anaconda3/envs/[name env]/lib/python3.7/site-packages/

最初に、モジュールは/anaconda3/lib/python3.7/site-packages/でデフォルトとして使用できるようになります。時々(そして私は本当に理由がわかりません)、sites-packages conda env内のモジュールは、PATHをエクスポートせずに自動的にインポートすることができません。

したがって、この問題を解決するには、2つのオプションがあります。

  • pip install foliumを使用してインストールし、Foliumをインポートする(conda installによるインストールは不要)、または

  • Conda installの後、conda initを実行し、ターミナルを閉じて新しいターミナルを開きます。もう一度インポートしてみてください。

ここにあります conda-environmentでのpipの使用に関するいくつかのヒント。

1
Andre Araujo

特定のバージョンのpythonを参照するには、.pyファイルの最初の行で以下を使用します。これはpython 2.7の場合です。

#!/usr/bin/env python2.7

これはpython 3

#!/usr/bin/env python3

他のユーザーがすでに指摘したように、モジュールがシステムパスに含まれているかどうかを確認する必要があります。コードを使用:

import sys
print(sys.path)

そうでない場合は、次のコマンドを使用して、sys.pathにこれを含めることができます。

sys.path.append('/path/to/the/folder/of/your/module/file')

または、デフォルトのPYTHONPATH自体に配置します。

その他の素晴らしい答え: https://stackoverflow.com/a/19305076/5381704

0
Bishwas Mishra