用于相对导入的交互式Python解决方案

2024-05-18 12:22:57 发布

您现在位置:Python中文网/ 问答频道 /正文

来自Python relative imports for the billionth time

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

我喜欢在编写生产代码之前使用交互式Jupyter笔记本来探索数据和测试模块。为了让团队成员明白易懂,我喜欢将笔记本放在一个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和{}?在


Tags: 模块pyimportforinitmy笔记本imports
1条回答
网友
1楼 · 发布于 2024-05-18 12:22:57

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

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

import subpackage1.moduleX
import subpackage2.moduleZ

相关问题 更多 >

    热门问题