如何在Python Spyder IDE中使用相对导入
问题描述
我得到了蟒蛇,并且正在使用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
上运行的命令。
相关文章