gpt4 book ai didi

python - 交互式 Python - 相对导入的解决方案

转载 作者:行者123 更新时间:2023-12-05 04:13:06 28 4
gpt4 key购买 nike

来自 Python relative imports for the billionth time :

  • 要使 from .. import 起作用,模块名称中的点数必须至少与 import 语句中的点数相同。
  • ...如果您以交互方式运行解释器...该交互 session 的名称是 __main__
  • 因此您不能直接从交互式 session 中进行相对导入

我喜欢在编写生产代码之前使用交互式 Jupyter Notebook session 来探索数据和测试模块。为了让团队成员清楚并易于访问,我喜欢将笔记本放在 interactive 包中,该包位于我正在测试的包和模块旁边。

package/

__init__.py

subpackage1/

__init__.py

moduleX.py

moduleY.py

moduleZ.py

subpackage2/

__init__.py

moduleZ.py

interactive/
__init__.py
my_notebook.ipynb

interactive.my_notebook.ipynb 中的交互式 session 期间,您将如何导入其他模块,如 subpackage1.moduleXsubpackage2.moduleZ

最佳答案

我目前使用的解决方案是将父包附加到sys.path

import sys
sys.path.append("/Users/.../package/")

import subpackage1.moduleX
import subpackage2.moduleZ

关于python - 交互式 Python - 相对导入的解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38488860/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com