/ home/myself/workspace/Project1にプロジェクトがあり、Python 2.7.3 VirtualenvからSDKを作成しました。
このプロジェクトでは、アクセス可能なディレクトリにある外部コードを使用しています。/home/myself/LIBRARY;このディレクトリには、コード、ドキュメントなどを含むいくつかのディレクトリが含まれています...
たとえば、/ home/myself/LIBRARY/mymodule/important_util.pyにあるモジュール「important_util」があります。
ここで、SDKのクラスパスにdir/home/myself/LIBRARY全体を追加しました。エディターウィンドウでは、問題なく表示されます。インポートと呼び出しが認識され、LIBRARYディレクトリのコードをナビゲートすることもできます。
問題は、プログラムを実行しようとすると、LIBRARYを使用した最初のインポートで失敗することです!!!
Traceback (most recent call last):
File "/home/myself/workspace/Project1/my_program.py", line 10, in <module>
from mymodule import important_util as ut
ImportError: No module named mymodule
Sourcesセクションの "Global Libraries"セクションにも同じディレクトリを追加しようとしましたが、うまくいきませんでした。
このコードをRunクラスパスに追加する方法が見つからないようです。どうすればこれを実行できますか?
mymodule
ディレクトリに__init__.py
があることを確認してください:
__init__.py
ファイルは、Pythonがディレクトリをパッケージを含むものとして扱うようにするために必要です。これは、文字列などの一般的な名前のディレクトリが、後でモジュール検索パスで発生する有効なモジュールを誤って非表示にしないようにするために行われます。最も単純なケースでは、__init__.py
を空のファイルにするだけでなく、パッケージの初期化コードを実行したり、後で説明する__all__
変数を設定したりすることもできます。 ©
[〜#〜] update [〜#〜]:IntelliJ IDEAでは、追加のディレクトリをModule Dependenciesとして追加するか、Libraries
として構成する必要があります(Python SDKのClasspath
タブの代わりにDependenciesに追加されます):
このフォルダ(D:\dev\lib
)がPYTHONPATH
に追加され、機能することを確認しました。
IntelliJ 14では少し異なります。あなたは次のようなモジュール/卵です:
2017.1のバージョンから、追加が再度変更されました。 ファイルメニューにプロジェクト構造がありません。現在の手順を書き留めます:
設定/設定に移動します。 ファイル->設定(IDE名-> macOSの設定)
選択ビルド、実行、展開
Pythonインタープリターを選択します
プロジェクトインタープリターのドロップダウンメニューで選択し、Pythonプロジェクトに必要なバージョンのパスのパスを選択します。
これですべてのエラーがなくなり、プロジェクトで使用されているPythonが外部ライブラリのリストに表示されます。
ハッピーコーディング