PyCharmからプログラムを実行しようとすると、IDE=すべて正常に動作しますが、Fedoraに入力すると:
python myScript.py
シェルプロンプトで、モジュールの1つからインポートエラーが発生します。
ImportError : No modue named myDependency
PyCharmは何をしますか?これにより、IDEから起動したときにインタープリターが私の依存関係を見つけることができますか?スクリプトに依存関係を見つけて、singeコマンドで起動できるようにするにはどうすればよいですか?
これを引き起こしている可能性のあるいくつかの可能性があります:
import sys; print(sys.executable)
で確認してくださいimport os; print(os.getcwd())
で確認するsys.path
_の不一致pythonインポート場所を順次検索します。環境変数が原因である可能性があります。import sys; print(sys.path)
で確認してください。これを追加するとうまくいきました:
from os import sys, path
sys.path.append(path.dirname(path.dirname(path.abspath(__file__))))
最初のステップとして、PyCharmでプロジェクト設定/ pythonインタープリターに移動し、パスを書き留めます。次に、それをwhich python
の結果と比較します-一致していますか?そうでない場合、あなたは彼らにそうさせる必要があります。
それが問題なければ、プロジェクト設定/プロジェクト構造でPyCharmがプロジェクトルートとして定義するものを確認してください。スクリプトが配置されているディレクトリですか?そうでない場合は、そのディレクトリからスクリプトを実行するか、ディレクトリを$PYTHONPATH
変数に追加する必要があります。
ほぼ間違いなく、それはこれら2つのことの1つです。
モジュールmyDependencyのPycharmでプロジェクトの依存関係を設定した可能性があります。 Fedoraで同じようにアクセスするには、モジュールを明示的にインポートするか、そのモジュールのEggを作成してインストールします。これはpython site-packagesに移動し、そこからこの依存関係を参照できます。