【发布时间】:2016-11-24 03:19:54
【问题描述】:
来自Python relative imports for the billionth time:
- 要使
from .. import起作用,模块名称中的点数必须至少与import语句中的点数一样多。 - ...如果您以交互方式运行解释器...该交互会话的名称是
__main__ - 因此,您不能直接从交互式会话中进行相对导入
我喜欢在编写生产代码之前使用交互式 Jupyter Notebook 会话来探索数据和测试模块。为了让团队成员清楚并易于使用,我喜欢将笔记本放在 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 的交互式会话期间,您将如何导入其他模块,例如subpackage1.moduleX 和subpackage2.moduleZ?
【问题讨论】:
标签: python python-2.7 ipython ipython-notebook jupyter-notebook