python - 如何在 python spyder IDE 中使用相对导入

标签 python import spyder

我有 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/

相关文章:

python - 基于Python中列的部分匹配匹配和合并2个数据帧

python - 如何在 Ubuntu Linux 上将 pymssql 安装到 Python 3.4 而不是 2.7?

android - 使用 com.example.android.apis.graphics

Python:导入的 Tkinter 程序自行运行?

python - 在 Spyder Ipython 控制台中粘贴并执行剪贴板中的多行

python - WRDS 库和 SQL?

php - Python 作为网络脚本语言?

python - 由于警告和 ValueError,无法在 Windows 的 virtualenv 中 pip 安装 PIL

objective-c - 使用 extern @class 来添加类别?

python - Python 文件编辑器中的完成和 linting 在当前 session 期间将不起作用,或者停止工作