如何在Python Spyder IDE中使用相对导入

2022-04-05 00:00:00 python spyder import

问题描述

我得到了蟒蛇,并且正在使用Spyder IDE。我想知道如何使用Run Bottom或F5键的相对导入。

假设我有pkg/A/foo1.py、pkg/A/foo2/py和foo1.py,如果我点击Run,它将报告相关的导入错误。

我知道如何在可以输入的命令行环境中执行此操作,例如"python-m pkg.A.foo1"。如何在Spyder IDE中执行此操作?

谢谢 JQ


解决方案

如果有pkg/A/__init__.py文件,即如果pkg.A是一个Python包,则from . import foo2是正确的。在Spyder IDE、记事本或emacs中的何处编写代码都无关紧要;代码是相同的。

剩下的问题是如何在Spyder IDE中运行Python脚本。

Don’t directly run modules inside packages,即不运行python pkg/A/foo1.py。这导致了可以使用不同的名称来使用Python模块。请参见Traps for the unwary。将其作为python -m pkg.A.foo1从项目目录运行。

如果Spyder IDE允许,请配置在F5上运行的命令。

相关文章