首页 > 解决方案 > ImportError:无法从“utils”(/usr/local/lib/python3.7/dist-packages/utils/__init__.py)导入名称“translate_sentence”

问题描述

我正在使用 google colab 进行 NLP。但是,当我进行导入时,我不断收到错误 ImportError: cannot import name 'translate_sentence' from 'utils' (/usr/local/lib/python3.7/dist-packages/utils/init .py )

请问有什么帮助吗?这是我的进口

import torch
import torch.nn as nn
import torch.optim as optim
import spacy
from utils import translate_sentence, bleu, save_checkpoint, load_checkpoint
from torch.utils.tensorboard import SummaryWriter
from torchtext.datasets import Multi30k
from torchtext.data import Field, BucketIterator

标签: pythonimportnlpgoogle-colaboratory

解决方案


pylint 约定要求用户导入标准库,然后是第三方库,最后是本地路径中的模块。划分函数和命名空间的直接导入也有助于提高可读性。

所以导入顺序应该是:


import spacy
import torch
import torch.nn as nn
import torch.optim as optim

from torch.utils.tensorboard import SummaryWriter
from torchtext.datasets import Multi30k
from torchtext.data import Field, BucketIterator

from utils import translate_sentence, bleu, save_checkpoint, load_checkpoint

这并不能解决您遇到的导入问题,但它清楚地表明utils不是第三方库,而是执行代码时应该可见的本地文件。

utils.py文件复制到同一文件夹中,然后__init__.py根据需要添加一个空文件。


推荐阅读