最近、Flask プロジェクトを実行する過程で問題が発生しunresolved reference '包名'
、インターネットで長い間解決策を探してきましたが、どれも一度に問題を解決することはできません。
その後、インターネット上の問題と解決策を分析したところ、インターネット上の解決策のほとんどは、プロジェクトの同じディレクトリにある py ファイルに対するものであることがわかりました。
1. 同じディレクトリにモジュールをインポートする問題の解決策
以下の図に示すように: ご覧のとおり
、上の図に示されている問題は、ディレクトリ内のPython从入门到实践
カスタムファイルを正常にインポートできないことです。my_module.py
解決策は、次の図に示すように、プロジェクト上で单击右键
-> Mark Directory as
->です。その後、問題は解決されます。次に、設定を入力します。->最後に、下の図に従って展開し、3 にチェックを入れて [OK] を選択すると、問題は解決されます。もちろん、これは同じディレクトリ内のモジュールのインポートの問題に対する単なる解決策です。Sources Root
file
settings
Build,Execution,Deployment -> Console -> Python Console -> Add source roots to PYTHONPATH
2. 異なるディレクトリにモジュールがインポートされる問題の解決策。
私が遭遇した問題は次のとおりですprocessor
ディレクトリ配下のファイルに他のディレクトリにある関数AIDetector_pytorch.py
をインポートしたいのですが、問題が発生しました。このとき、何も考えずに上記の方法を使ってもうまくいきませんが、解決の原理はやはり上記の方法です。ただし、適切に選択する必要があります。つまり、ルート パスを選択する必要があります。models
experimental
attempt_load
unresolved reference
Sources Root
私のパスを例に挙げると、ルート パスは ではなくF:\flaskProject2
、 である必要がありますF:\flaskProject2\back-end
。
具体的な解決策は次のとおりです。
上記の解決策の最初の方法に従いますが、選択する設定がSources Root
変更されています。
完了後、プロジェクトの構造を確認できます。
この時点では、ソース フォルダーがバックエンド ディレクトリであることがわかります。
そうすれば問題は解決します。