PyCharmには、別のプロジェクトのモジュールを呼び出すプロジェクトが1つあります。
たとえば、abcとxyzの2つのプロジェクトがあるとします。プロジェクトabc内には、関数f1()を持つモジュールabc.mod_aがあり、プロジェクトxyz内には、関数f2()を持つモジュールxyz.mod_bがあります。
abc.mod_a.py:
import xyz.mod_b
def f1():
xyz.mod_b.f2()
xyz.mod_b.py:
def f2():
print("something was done")
これを可能にするために、次のことを行いました。
プロジェクトabcのプロジェクト依存関係としてxyzを追加しました:[設定]-> [プロジェクト]-> [プロジェクト依存関係]
プロジェクトabcに使用されるインタープリターのPYTHONPATHにxyzのプライマリディレクトリへのパスを追加しました:[設定]-> [プロジェクト]-> [プロジェクトインタープリター]-> [すべて表示]-> [インタープリターパス]-> [パスの追加]
abc.mod_a.pyを使用するコードを実行すると、最初のimportxyzステートメントでモジュールが見つかりませんというエラーが発生します。私は何が間違っているのですか?
最も簡単な方法は、abcプロジェクトで作業し、xyzプロジェクトを開くことです。以下のダイアログが表示されます。
これにより、abcプロジェクト内のxyzが開きます。それはあなたのためにすべての依存関係を処理します。
もう1つの方法は、xyzpythonライブラリを開発モードでインストールすることです。https://pip.pypa.io/en/latest/reference/pip_install/#editable-installs
pip install -e ../path_to/xyz
これにより、Pythonのsite-packagesディレクトリに、xyzディレクトリを指すリンクが作成されます。呼び出すimport xyz.mod_b
と、適切なディレクトリが検索されます。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加