我有蟒蛇Python和使用Spyder的IDE。 我试图找出如何我可以使用相对导入与运行底部或F5。
假设我有包装/ A / foo1.py,包装/ A / foo2的/ PY,并foo1.py有“而来。进口foo2的”,如果我打运行它会报告相对导入错误。
我知道如何做到这一点,在命令行环境中,我可以输入,如“巨蟒-m pkg.A.foo1”。 我怎样才能做到这一点Spyder的IDE?
由于JQ
我有蟒蛇Python和使用Spyder的IDE。 我试图找出如何我可以使用相对导入与运行底部或F5。
假设我有包装/ A / foo1.py,包装/ A / foo2的/ PY,并foo1.py有“而来。进口foo2的”,如果我打运行它会报告相对导入错误。
我知道如何做到这一点,在命令行环境中,我可以输入,如“巨蟒-m pkg.A.foo1”。 我怎样才能做到这一点Spyder的IDE?
由于JQ
如果存在pkg/A/__init__.py
文件即如果pkg.A
是一个Python包,那么from . import foo2
from . import foo2
是正确的。 这不要紧,你写在Spyder的IDE,记事本,或Emacs代码; 该代码是相同的。
剩下的问题是如何在Spyder的IDE中运行 Python脚本。
不要直接运行模块包装内 ,即,不运行python pkg/A/foo1.py
。 它导致Python模块是根据不同的名称可用。 见粗心陷阱 。 运行它python -m pkg.A.foo1
从项目目录来代替。
配置上运行命令F5
如果Spyder的IDE允许它。