web-dev-qa-db-ja.com

Pycharm:作業中のプロジェクトを開くときのIDEでの「未解決の参照」エラー

イントロ

Pythonプロジェクト。ほとんどのチームメンバーは問題なく動作します。異なるプラットフォーム(Windows、Linux)のPycharmで問題なくコードを同期および編集できます。

問題

コンピューターの1つで、Pythonの組み込みライブラリを除き、ほぼすべてのインポートでコード全体にわたって「未解決の参照」を取得しています(つまり、インポート日時が機能しています)。このコンピューターはPycharmのMacバージョンを実行しています。

質問

ほとんどのインポートはコード補完を認識せず、goto-> declarationなどのナビゲーションは機能しないため、誰もこれを解決する方法を知っていますか? Macバージョンに既知の問題はありますか?

前もって感謝します!

47

重要なのは、ソースディレクトリをソースルートとしてマークすることです。以下を試してください:

  • プロジェクトビューで、Pythonソースディレクトリを右クリックします
  • ダイアログメニューでMark Directory As> ソースルートを選択します

フォルダーがベージュではなく青色で表示され、Pythonソースフォルダーであることを示します。

既にPyCharmにあるプロジェクトに対して以下を実行することにより、PyCharmの設定でこれを構成することもできます。

  • Macツールバーで、PyCharm> Preferencesを選択します
  • 開いたウィンドウで、左側のメニューペインからProject Structureを選択します
  • 必要に応じて、中央のペインでプロジェクトを選択します
  • 右ペインでPython source)を右クリックし、メニューダイアログからSourcesを選択します
87
einnocent

私にも問題があり、正確な解決策を見つけるのに数時間かかりました。

次のことを確認する必要があります。

  1. 'Django.contrib.staticfiles'は、アプリケーションのINSTALLED_APPSファイルのsettings.pyに追加されます。

  2. staticという名前の静的コンテンツ(画像など)のあるディレクトリは、アプリケーションルートの下にあります。

次の手順を実行します

PyCharm>設定>プロジェクト設定> Django

Django Project rootSettings.py、およびmanage.pyスクリプトがダイアログボックスで適切に定義されていることを確認してください。

準備できた。お役に立てれば。

3
A.J.

私は上記のすべてをeinnocentとmyildirimから行いましたが、それでも次のことをしなければなりませんでした。

pycharmを閉じて.ideaフォルダーを手動で削除すると、pycharmがコードについて知っているすべてが削除されます。

pycharmを開き、プロジェクトを再インポートします

正しいソースルートの設定、キャッシュの無効化を伴うpythonの再起動、.ideaフォルダーの削除/ pycharmプロジェクトの再インポートの組み合わせにより、修正されました。

3
Simon

私はpyspark(spark 2.1)&ルイージで同様の問題に直面しました。

試行失敗:

  1. PYTHONPATH環境変数の設定
  2. キャッシュを無効にし、pycharmを再起動します
  3. ディレクトリをソースルートとしてマーク


未解決の参照pysparkは、スパークのpythonディレクトリをContent Rootとして追加することで修正できます。プロジェクトが、プロジェクトをluigiタスクとして実行すると同じエラーが発生しました。

成功手順

  • プロジェクトに空の___init__.py_ファイルを作成します
  • スクリプトの先頭に次のコード行を含めます

    _...
    import sys
    
    sys.path.append("/path/to/spark/python")
    
    sys.path.append("/path/to/spark/python/lib")
    
    ...
    // import pyspark files after above mentioned lines
    _

未解決の参照エラーの問題は、pycharmタスクとluigiタスクの両方で修正されました。

1
Abdul Mannan

PyCharm-Alt-F(ile);設定; プロジェクト構造; +コンテンツルートの追加;をクリックします。競合のパッケージを含むフォルダーをポイントします:/home/joker/anaconda3/envs/conda_py27/lib/python2.7/site-packages。さらにリソースとしてマークしました(これが必須かどうかわかりません)。 [OK]をクリックすると、インデックスの再作成が行われます。これ解決済み私にとっての問題はPyCharm Professional 2016.2.

0
emeralddove

もう1つの理由は、プロジェクトインタープリターです。たとえば、Python3.xを使用しているが、インタープリターがPython2.x用である場合、ここで確認できます。

ファイル|設定|プロジェクト: 'projectname' |プロジェクト通訳

0
torina

私の10ペンス-仮想環境で作業している場合(venvディレクトリがある場合)、それが除外としてマークされていることを確認してください。

上から盗用:

  • プロジェクトビューで、venvディレクトリを右クリックします
  • ダイアログメニューでMark Directory As> Excludedを選択します

ディレクトリがオレンジ色に変わるはずです...

これは、git cleanまたは何らかの理由で環境を再構築する必要があり、PyCharmはnoticed

0
Edward