我有 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 中做到这一点?
谢谢
杰克
如果有pkg/A/__init__.py
文件,即如果pkg.A
那么是一个Python包from . import foo2
是正确的。在spyder IDE、记事本或emacs 中的哪个位置编写代码并不重要;都可以。代码是一样的。
剩下的问题是你如何runspider IDE 中的 Python 脚本。
不要直接运行包内的模块 http://blog.habnab.it/blog/2013/07/21/python-packages-and-you/即,不要跑python pkg/A/foo1.py
。它导致 Python 模块以不同的名称可用。看粗心者的陷阱 http://legacy.python.org/dev/peps/pep-0395/#traps-for-the-unwary。运行它作为python -m pkg.A.foo1
相反,从项目目录。
配置运行的命令F5
如果spyder IDE允许的话。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)