PyCharmが提供するautoimportを使用すると、絶対パスインポートが生成されます。つまり.
from my_package.my_subpackage import my_thing
の代わりに
from .my_subpackage import my_thing
pythonパッケージをインポートするときに、絶対インポートではなく相対インポートを使用する設定はありますか?
2019.3以降で可能になる https://youtrack.jetbrains.com/issue/PY-6054 注:そのファイルに他の相対インポートがない場合、相対インポートは自動的には行われません。まだ。既存の絶対インポートを相対に変換するアクションもあります:
私は一般的に親族に対して助言します、あなたはこの質問を参照することができます: https://softwareengineering.stackexchange.com/a/159505
また、公式のpep8仕様を確認することもできます https://www.python.org/dev/peps/pep-0008/
インポートシステムが正しく構成されていない場合(パッケージ内のディレクトリがsys.pathで終了する場合など)は、通常、読みやすく、動作がよくなる(または少なくともエラーメッセージが改善される)傾向があるため、絶対インポートをお勧めします。
私の個人的な経験から、Pycharmとの統合が不十分な場合があることがわかりますIDE Pycharmを介して実行するより複雑なパッケージレイアウトの破壊テストがある場合。他のツールにもいくつか問題がある可能性があります。