【问题标题】:how to use relative import within python spyder IDE如何在 python spyder IDE 中使用相对导入
【发布时间】:2023-03-10 21:11:01
【问题描述】:

我得到了 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

【问题讨论】:

  • 您找到解决方案了吗?我坚持使用 %run -m package_name.module_name

标签: python import spyder


【解决方案1】:

如果有pkg/A/__init__.py 文件,即如果pkg.A 是一个Python 包,那么from . import foo2 是正确的。在 spyder IDE、notepad 或 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 上运行的命令。

【讨论】:

  • 这个答案并不是真正特定于 spyder,我们知道命令行的方法,问题是关于让事情在 spyder ide 中工作。
猜你喜欢
  • 1970-01-01
  • 2017-04-04
  • 2017-08-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-23
  • 2017-10-30
相关资源
最近更新 更多