在 Jupyter notebook 中导入本地模块
Import local modules in Jupyter notebook
我想在一个模块中外包一些对多个笔记本有用的通用功能(也用于测试目的)。当前目录结构如下所示
木星/
├─ 笔记本/
│ ├─ 01笔记本1.ipynb
│ ├─ ...
├─ 源码/
│ ├─ module_a/
│ │ ├─ __init__.py
│ │ ├─ func_a.py
│ ├─ module_b/...
├─ 测试/...
├─ 数据/...
├─ .../
在func_a.py
中有一个简单的函数def print_a(): print('a')
但是,当我想通过使用(我认为有意义的)
在 01 Notebook 1.ipynb
中导入和使用 module_a
from .. src.module_a import print_a
我得到了 ImportError: attempted relative import with no known parent package
。我究竟做错了什么?我正在使用 Python 3.9.
我会尝试 append the src directory to the system path 像这样:
import sys
sys.path.append("/path/to/your/src")
from src.module_a import a
请注意,您可以使用笔记本根目录的相对路径,而不是像上面示例中那样的绝对路径,因此如下:
sys.path.append("src")
应该也可以
我想在一个模块中外包一些对多个笔记本有用的通用功能(也用于测试目的)。当前目录结构如下所示
木星/ ├─ 笔记本/ │ ├─ 01笔记本1.ipynb │ ├─ ... ├─ 源码/ │ ├─ module_a/ │ │ ├─ __init__.py │ │ ├─ func_a.py │ ├─ module_b/... ├─ 测试/... ├─ 数据/... ├─ .../
在func_a.py
中有一个简单的函数def print_a(): print('a')
但是,当我想通过使用(我认为有意义的)
在01 Notebook 1.ipynb
中导入和使用 module_a
from .. src.module_a import print_a
我得到了 ImportError: attempted relative import with no known parent package
。我究竟做错了什么?我正在使用 Python 3.9.
我会尝试 append the src directory to the system path 像这样:
import sys
sys.path.append("/path/to/your/src")
from src.module_a import a
请注意,您可以使用笔记本根目录的相对路径,而不是像上面示例中那样的绝对路径,因此如下:
sys.path.append("src")
应该也可以