web-dev-qa-db-ja.com

PyCharmの未解決の参照問題

私はディレクトリ構造を持っています

├── simulate.py
├── src
│   ├── networkAlgorithm.py
│   ├── ...

そしてsys.path.insert()でネットワークモジュールにアクセスできます。

import sys
import os.path
sys.path.insert(0, "./src")
from networkAlgorithm import *

しかし、pycharmはモジュールにアクセスできないと訴えています。どうやって参照を解決するようにpychamに教えることができますか?

enter image description here

291
prosseek

手動で追加するis実際にこれを行う方法の1つですが、もっと簡単な方法があります。それは、単にsrcフォルダーをソースルートとして追加することをpycharmに指示してから追加することです。あなたのPythonパスへのルートとなるソース。

このように、あなたはあなたのインタプリタの設定に物事をハードコーディングする必要はありません:

  • ソースコンテンツのルートとしてsrcを追加します。

 enter image description here

  • それからあなたのPYTHONPATHにadd sourceを追加するようにしてください:

enter image description here

  • これでインポートは解決されます。

 enter image description here

こうすれば、あなたが欲しいものは何でもソースルートとして追加することができ、そして物事は単にうまくいくでしょう。ただし、ソースルートとしてマークを外した場合は、エラーが発生しますになります。

 enter image description here

654
Games Brainiac
  1. srcフォルダー内の__init__.pyファイルを確認してください
  2. ソースルートとしてsrcフォルダを追加します。
  3. それからあなたのPYTHONPATHにadd sourceを追加することを忘れないでください(上記参照)
  4. pyCharmメニューで次の順に選択します。ファイル - >キャッシュの無効化/再起動
34
Ukr

通常、 $ PYTHONPATHはPythonインタプリタに必要なモジュールを見つけるように教えるのに使われます 。 PyCharmはPreferenceにパスを追加する必要があります。

enter image description here

14
prosseek

誰かがまだこれを見ているのであれば、私が試したときに受け入れられた答えはまだPyCharm 2016.3のために働く。 UIは変更されたかもしれませんが、オプションは同じです。

すなわち。あなたのルートフォルダを右クリック - > 'ディレクトリに名前を付ける' - >ソースルート

14
AeroHil

すべての回避策をテストした後、Settings -> Project -> project dependenciesを見てそれらを再配置することをお勧めします。

pycharm prefrence

14
mehdi

一般的に、これはパッケージの問題です。未解決の参照にキャレットを置き、Alt+Enterを押してオプションを表示してください。それからそれを解決する方法を知っておく必要があります。

5
Ch_y

受け入れられた答えに従った後、次のことをすることは私のためにそれを解決しました:

FileSettingsProject <your directory/project>Project Dependencies

未解決のインポートを含むファイルが存在するディレクトリ/ projectを選択し、そのプロジェクトが他のプロジェクトに依存していることをPycharmに伝えるためにボックスをチェックします。

私のフォルダの階層は、質問のものとは少し異なります。私のものはこんな感じです

├── MyDirectory  
│     └── simulate.py  
├── src  
│     ├── networkAlgorithm.py  
│     ├── ...

SrcがMyDirectoryに依存していることをPycharmに伝えることで問題は解決しました!

2
Benjamin

PyCharm経由でインストールします(Community Editionで動作します)。 Settings > Project > Project Interpreterを開き、下のスクリーンショットの緑色の+アイコンをクリックします。開いた2番目のダイアログで、パッケージ名を入力して「パッケージのインストール」ボタンをクリックしてください。

enter image description here

2
danday74

正しい通訳者を使用しているかどうかを確認してください。これを解決するために「未解決の参照 'Django'」というエラーが表示されていました。プロジェクト設定からプロジェクトインタープリタ(Python 3からPython 2.7に変更)を変更しました。そして正しいバージョンかインタプリタ(例:/usr/bin/python2.7)を選択してください。

1
kishs1991

何度も起こるのはプラグインがインストールされていないということです。例えば.

Djangoプロジェクトを開発していて、DjangoプラグインがpyCharmにインストールされていない場合は、「未解決の参照」というエラーが表示されます。参照してください: https://www.jetbrains.com/pycharm/help/resolving-references.html

1
Ranjeet

Pycharmはvenvを使います。 venvのコンソールでは、パッケージを明示的にインストールするか、settings -> project interpreter -> add interpreter -> inherit global site-packagesに入ります。

0
yunus

私の場合、問題はグローバルサイトパッケージにアクセスできないVirtual environmentを使っていたことです。したがって、インタプリタは新しくインストールされたパッケージを知りませんでした。

この問題を解決するには、仮想インタプリタを編集または再作成してInherit global site-packagesオプションをチェックするだけです。

enter image description here

0
Dan