每当您使用 PyCharm 提供的自动导入时,它都会生成一个绝对路径导入。IE
from my_package.my_subpackage import my_thing
代替
from .my_subpackage import my_thing
导入python包时是否有使用相对导入而不是绝对导入的设置?
每当您使用 PyCharm 提供的自动导入时,它都会生成一个绝对路径导入。IE
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 运行更复杂的包布局破坏测试时,它们有时与 Pycharm IDE 的集成很差。我想其他工具也可能存在一些问题。