私はディレクトリ構造を持っています
├── simulate.py
├── src
│ ├── networkAlgorithm.py
│ ├── ...
そしてsys.path.insert()
でネットワークモジュールにアクセスできます。
import sys
import os.path
sys.path.insert(0, "./src")
from networkAlgorithm import *
しかし、pycharmはモジュールにアクセスできないと訴えています。どうやって参照を解決するようにpychamに教えることができますか?
手動で追加するis実際にこれを行う方法の1つですが、もっと簡単な方法があります。それは、単にsrc
フォルダーをソースルートとして追加することをpycharmに指示してから追加することです。あなたのPythonパスへのルートとなるソース。
このように、あなたはあなたのインタプリタの設定に物事をハードコーディングする必要はありません:
src
を追加します。
PYTHONPATH
にadd sourceを追加するようにしてください:
こうすれば、あなたが欲しいものは何でもソースルートとして追加することができ、そして物事は単にうまくいくでしょう。ただし、ソースルートとしてマークを外した場合は、エラーが発生しますになります。
src
フォルダー内の__init__.py
ファイルを確認してくださいsrc
フォルダを追加します。PYTHONPATH
にadd sourceを追加することを忘れないでください(上記参照)通常、 $ PYTHONPATHはPythonインタプリタに必要なモジュールを見つけるように教えるのに使われます 。 PyCharmはPreferenceにパスを追加する必要があります。
誰かがまだこれを見ているのであれば、私が試したときに受け入れられた答えはまだPyCharm 2016.3のために働く。 UIは変更されたかもしれませんが、オプションは同じです。
すなわち。あなたのルートフォルダを右クリック - > 'ディレクトリに名前を付ける' - >ソースルート
すべての回避策をテストした後、Settings -> Project -> project dependencies
を見てそれらを再配置することをお勧めします。
一般的に、これはパッケージの問題です。未解決の参照にキャレットを置き、Alt+Enter
を押してオプションを表示してください。それからそれを解決する方法を知っておく必要があります。
受け入れられた答えに従った後、次のことをすることは私のためにそれを解決しました:
File
→Settings
→Project <your directory/project>
→Project Dependencies
未解決のインポートを含むファイルが存在するディレクトリ/ projectを選択し、そのプロジェクトが他のプロジェクトに依存していることをPycharmに伝えるためにボックスをチェックします。
私のフォルダの階層は、質問のものとは少し異なります。私のものはこんな感じです
├── MyDirectory
│ └── simulate.py
├── src
│ ├── networkAlgorithm.py
│ ├── ...
SrcがMyDirectory
に依存していることをPycharmに伝えることで問題は解決しました!
正しい通訳者を使用しているかどうかを確認してください。これを解決するために「未解決の参照 'Django'」というエラーが表示されていました。プロジェクト設定からプロジェクトインタープリタ(Python 3からPython 2.7に変更)を変更しました。そして正しいバージョンかインタプリタ(例:/usr/bin/python2.7)を選択してください。
何度も起こるのはプラグインがインストールされていないということです。例えば.
Djangoプロジェクトを開発していて、DjangoプラグインがpyCharmにインストールされていない場合は、「未解決の参照」というエラーが表示されます。参照してください: https://www.jetbrains.com/pycharm/help/resolving-references.html
Pycharmはvenvを使います。 venvのコンソールでは、パッケージを明示的にインストールするか、settings -> project interpreter -> add interpreter -> inherit global site-packages
に入ります。