322

私は PyCharm を使用してプロジェクトに取り組んでいます。プロジェクトが開かれ、インタープリターで構成され、正常に実行できます。リモート インタープリターのパスは適切にマップされます。これは正しい構成のようですが、組み込みの Python 関数であっても、PyCharm は有効なコードを「未解決の参照」エラーで強調表示しています。コードが実行されているにもかかわらず、これらが検出されないように見えるのはなぜですか? PyCharmにこれらを正しく認識させる方法はありますか?


この問題の特定のインスタンスはリモート インタープリターにありますが、問題はローカル インタープリターでも発生します。

4

29 に答える 29

487

ファイル | キャッシュを無効にします...そしてPyCharmを再起動すると役立ちます。

于 2012-08-02T08:12:08.597 に答える
148

ドミトリーの反応は私にはうまくいきませんでした。

プロジェクトインタープリターに移動し、「パス」タブを選択し、そのサブメニューの更新ボタンを押すことで、私の仕事を手に入れました。「python-skeletons」と呼ばれるものが自動入力されます。

edit : PyCharm 3.4.1 を使用したスクリーンショット (非常によく隠されています)

ここに画像の説明を入力

于 2013-11-16T18:50:34.453 に答える
82

これには多くの解決策があり、他のものよりも便利なものもあれば、常に機能するとは限りません。

「速い」から「煩わしい」まで、試すことができるのは次のとおりです。

  • Do File-> Invalidate Caches / RestartPyCharm を再起動します。
    • 念のため、以下の方法のいずれかの後にこれを行うこともできます。
  • まず、実行しているインタープリターを確認します: Run-> Edit Configurations-> Configuration-> Python Interpreter.
  • インタープリターのパスを更新します。
    • File->Settings
    • Project: [name]-> Project Interpreter-> 'Project Interpreter': 歯車のアイコン ->More...
    • [パスを表示] ボタン (一番下) をクリックします。
    • [更新] ボタン (一番下) をクリックします。
  • インタープリターを削除して、再度追加します。
    • File->Settings
    • Project: [name]-> Project Interpreter-> 'Project Interpreter': 歯車のアイコン ->More...
    • 「削除」ボタンをクリックします
    • 「追加」ボタンをクリックして、インターピーターを再度追加します
  • プロジェクト設定を削除する
    • .ideaプロジェクトのフォルダーを削除します
    • PyCharm を閉じて再度開く
    • プロジェクトを最初から開く
  • PyCharm ユーザー設定を削除します (ただし、最初にバックアップします)。
    • ~/.PyCharm50Mac で
    • %homepath%/.PyCharm50Windows の場合
  • 別のインタープリターに切り替えてから、目的のインタープリターに戻ります。
  • 新しい仮想環境を作成し、その環境のインタープリターに切り替えます。
  • 新しい場所(プロジェクト フォルダーの外) に新しい仮想環境を作成し、その環境のインタープリターに切り替えます。
  • 完全に別のインタープリターに切り替えます。スイッチバックしないでください。

Docker を使用している場合は、次のことに注意してください。

上記がうまくいかなかったが、別のトリックを見つけた場合は、コメントを残してください。

于 2016-03-09T16:16:11.270 に答える
32

私の場合、それはディレクトリ構造でした。私のプロジェクトは次のようになります。

+---dir_A
    +---dir_B
        +app
        |
        \-run.py

dir_bを右クリック>「ディレクトリをマーク」>「プロジェクトルート」

于 2015-02-24T12:37:49.410 に答える
13

キャッシュの無効化またはパスの更新が機能しない場合、この問題を修正するためにリモートインタープリターを削除して再度追加することに気づきました。

私は vagrant を使用していますが、新しい VM をマルチ VM セットアップに追加すると、転送されたポートが変更され、SSH に間違ったポートを使用しようとすると PyCharm が混乱するようです。ポートを変更しても、壊れた参照には役立たないようです。

于 2014-03-21T15:51:41.863 に答える
7

この質問にぶつかって申し訳ありませんが、重要な更新があります。

それ以外のバージョンを使用している場合は、プロジェクトインタープリターをPython 2.7.6に戻すこともできます。これは、他の推奨事項で問題が解決されなかった後、PyCharm 4.04プロフェッショナルのUbuntuインストールで機能しました。

于 2015-01-14T07:07:29.403 に答える
4

Pycharm を閉じ.ideaて、プロジェクトからフォルダーを削除してから、Pycharm を再起動してプロジェクトを再作成してみてください。これは私にとってはうまくいきましたが、キャッシュを無効にすることはできませんでした。

于 2015-12-28T22:25:46.197 に答える
3

また、Python のバージョンの問題である可能性もあります。それを機能させるには、適切なものを選択する必要がありました。 ここに画像の説明を入力

于 2016-05-14T19:47:39.890 に答える
3

提案された解決策がどれもうまくいかなかった後、私は最終的にこれを機能させました。私はdjango restフレームワークプロジェクトで遊んでいて、セットアップしたvirtualenvを使用していました。ルート フォルダーをソース ルートとしてマークすることで Pycharm を修正できましたが、django のサーバーが解決例外をスローしました。したがって、一方が機能しないときにもう一方が機能し、その逆も同様です。

最終的に、サブフォルダーを pycharm のソース ルートとしてマークする必要がありました。だから私の構造はこのようなものでした

-playground
     -env
     -playground

その 2 番目のプレイグラウンド フォルダーは、すべてが期待どおりに機能するために、ソース ルートとしてマークする必要があったフォルダーです。それは私のシナリオでは問題を引き起こさなかったので、実行可能な解決策でした.

他の誰かがそれを使用できる場合に備えて、共有したいと思いました。

于 2016-04-12T23:10:19.497 に答える
1

なんて悪夢だろう、さまざまな StackOverflow の回答の私の融合:

  1. ローカルインタープリター /usr/bin/pythonX.X に切り替えて適用
  2. 上記の回答のようなパスを表示
  3. スケルトン パスを検索します。私は (/home/tim/Desktop/pycharm-community-2016.2.3/helpers/python-skeletons) でした
  4. 自動的に表示されない場合は、virt インタープリターに切り替えて、スケルトン パスを手動で追加します。
于 2016-10-12T09:02:48.983 に答える
1

他のすべてのプロジェクトを閉じて、必要なプロジェクトを Pycharm で分離して実行しました。pycharm から別の virtualenv を作成し、必要なすべてのモジュールを pip を使用して追加しました。この仮想環境をプロジェクトのインタープリターに追加しました。これで私の問題は解決しました。

于 2016-04-01T10:25:26.783 に答える
1

Windows 10 10.0 の PyCharm 2020.1.4 (Community Edition)。PyCharm の [設定] の下: [ファイル] > [設定] > [プロジェクト構造] プロジェクト構造に 2 つの変更を加えました。ソースとしてマークされたメイン フォルダーと、除外したすべてのアプリケーションを含む odoo フォルダーです。その後、PyCharmを再起動しました:ファイル>キャッシュの無効化/再起動...

未解決の参照エラーが削除されました プロジェクト構造

未解決の参照エラー

于 2020-07-26T11:05:16.927 に答える