Pycharmの未解決の参照問題
2022-02-19 22:45:53
質問内容
プロジェクトEには、F、G、Hのフォルダがあり、Fにはa、bのフォルダがあります。
a.pyです。
from b import fun
正常に実行されるのですが、Pycharmで表示されます。未解決の参照
例えば
これらのクラスがプロジェクトにあるにもかかわらず、参照されないということがpycharmではしばしば起こります。
ファイルの先頭のimportを見ると、対応するモジュールのimportがうまくいかなかったことがわかります。
Unresolved reference 'ERROR_CODE_INPUT_ERROR' less... (Ctrl+F1)
This inspection detects names that should resolve but don't. Due to dynamic dispatch and duck typin
分析
これらのクラスはプロジェクト内にあるため
インポートが機能しないのは
パス
は対応しません。実際、pycharmはプロジェクトのルートをソースディレクトリとしてデフォルトで使用します。
インポートは相対パスではなく絶対パスを使用します。
は、私たちが望む /src ディレクトリではなく、プロジェクトのルートディレクトリを探すことになるので、import はうまくいきません。
解決方法
-
相対パスへの変更
最初のfrom ... .package import *
.
はカレントディレクトリを示し、それ以降の各' . は前のディレクトリを示します。相対ディレクトリを使用すると、インポートが確実に成功しますが、現在のファイルを別のパッケージに移動した場合、多くの変更が必要になるため、お勧めできません。もちろん、相対パスを使用すると、パッケージ名を自由に変更することができます。 -
pycharmでソースパスを設定する
ファイル->設定->プロジェクト:サーバー->プロジェクト構成
-
パッケージを置いたフォルダをソースに設定し、インポートされたモジュールクラスなどを、これらのソースフォルダをルートパスにして探す、ということです。
方法2
1.Fフォルダをソースに設定する
2. soucersがPYTHONPATHに追加されていることを確認します。
関連
-
お使いのCPUは、このTensorFlowバイナリが使用するようにコンパイルされていない命令をサポートしています。AVX2 解決策
-
Python Numpyのarrayarrayとmatrixmatrix
-
python3 のモジュール "importlib._bootstrap" に "SourceFileLoader" という属性がない問題を解決する。
-
AttributeError: モジュール 'tensorflow' には 'enable_eager_execution' という属性がない。
-
python マルチスレッド操作エラー。logger "websocket "のハンドラが見つかりませんでした。
-
Python辞書
-
Pythonの学習における問題点
-
Python3 はエンコーディングの問題を解決します: UnicodeEncodeError: 'gbk' codec can't encode character '\xa9' in position
-
TypeError: -: 'list' および 'list' のオペランド型が未サポート 問題解決
-
[解決済み] です。TypeError: read() missing 1 required positional argument: 'filename'.
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
PythonでクロールするときにAttributeError: 'NoneType' オブジェクトに 'find_all' 属性がないのを解決する
-
Python エラー: int() の引数は文字列、バイトのようなオブジェクト、または数値でなければならず、 'list' ではありません。
-
AttributeError: 'NoneType' オブジェクトには 'group' という属性がありません。
-
Pythonでbs4をインストールした後、pycharmがModuleNotFoundErrorを報告しました。bs4' という名前のモジュールがありません。
-
ImportError: pandas という名前のモジュールがない 問題が解決される
-
python 3.3.2 エラー。urllib2' という名前のモジュールがない ソリューション
-
TypeError: 'builtin_function_or_method' オブジェクトには '__getitem__' という属性がありません。
-
TypeError: 'dict_keys' オブジェクトはインデックス作成をサポートしていません。
-
Python - pickleファイルの異なるPython環境への変換
-
タオバオ販売(特定値表示可能)インターフェイス