我有 anaconda python 并且正在使用 spyder IDE。我想弄清楚如何将相对导入用于运行底部或 F5。
假设我有 pkg/A/foo1.py、pkg/A/foo2/py 和 foo1.py 有“from .import foo2”,如果我点击运行它会报告相对导入错误。
我知道如何在我可以输入的命令行环境中执行此操作,例如“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
上运行的命令。
关于python - 如何在 python spyder IDE 中使用相对导入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23177615/