在jupyter笔记本中,当在包外部调用该模块时,无法从同一包中的其他模块导入模块中的文件。
我在名为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
从data_loading.ipynb
笔记本文件夹中的jupyter笔记本,我尝试以下操作:
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
我试图将当前目录设置为项目文件夹,但仍然无法正常工作。
尝试像这样导入-
from .data_util import check_cuda_available, tokenize_preserve_labels, substitute_navn
在python3中,您必须.
在导入任何模块时使用operator来指定当前目录。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句