【发布时间】:2020-08-07 13:52:16
【问题描述】:
当在 jupyter notebook 中的包外调用时,我无法从同一包中的其他模块导入模块中的文件。
我在名为 project 的文件夹中有一个具有以下结构的项目:
├───data
│ ├───external
│ ├───interim
│ ├───processed
│ └───raw
├───docs
├───models
├───notebooks
│ ├───data_loading.ipynb
│ └───wandb
├───references
├───reports
│ └───figures
├───src
│ ├───data
│ │ │───datasets.py
│ │ │───data_util.py
│ │ └───__init__.py
│ ├───features
│ ├───__init__.py
│ ├───models
│ ├───visualization
│ └───__pycache__
└───wandb
从 notebooks 文件夹中的 jupyter notebook data_loading.ipynb,我正在尝试以下操作:
import os
import sys
module_path = os.path.abspath(os.path.join('..'))
if module_path not in sys.path:
sys.path.append(module_path)
from src.data.datasets import TransformersFromRaw
它给了我错误信息:
ModuleNotFoundError: No module named 'data_util'
这源于尝试从与 datasets.py 相同文件夹中的模块导入函数
from data_util import check_cuda_available, tokenize_preserve_labels, substitute_navn
我尝试将当前目录设置为项目文件夹,但还是不行。
【问题讨论】:
标签: python python-3.x jupyter-notebook python-import