无法从torchtext.utils导入unicode_csv_reader的问题求助
问题描述
按照YouTube教程操作,完全复刻步骤却出现导入错误,使用的版本信息:torch 1.8.1、torchtext 0.9.1、pytorch-lightning 1.2.6。报错详情如下:
--------------------------------------------------------------------------- ImportError Traceback (most recent call last) <ipython-input-25-b2b2b2ad7bcb> in <cell line: 12>() 10 from torch.utils.data import Dataset, DataLoader 11 ---> 12 import pytorch_lightning as pl 13 import seaborn as sns 14 from pylab import rcParams 13 frames /usr/local/lib/python3.9/dist-packages/torchtext/legacy/data/dataset.py in <module> 11 from torchtext.data.utils import RandomShuffler 12 from .example import Example ---> 13 from torchtext.utils import download_from_url, unicode_csv_reader 14 15 ImportError: cannot import name 'unicode_csv_reader' from 'torchtext.utils' (/usr/local/lib/python3.9/dist-packages/torchtext/utils.py) --------------------------------------------------------------------------- NOTE: If your import is failing due to a missing package, you can manually install dependencies using either !pip or !apt. To view examples of installing some common dependencies, click the "Open Examples" button below. ---------------------------------------------------------------------------
问题分析
该错误源于torchtext 0.9.1与pytorch-lightning 1.2.6的版本兼容性冲突:
- pytorch-lightning 1.2.6依赖的torchtext逻辑中,
unicode_csv_reader函数位于torchtext.utils模块,但torchtext 0.9.1已将该函数迁移至torchtext.data.utils路径,导致导入失败。
解决方法
方法1:调整torchtext版本(推荐)
安装与pytorch-lightning 1.2.6、torch 1.8.1兼容的torchtext版本,例如0.8.1:
pip install torchtext==0.8.1
方法2:手动修改库文件导入路径(临时应急)
找到报错的/usr/local/lib/python3.9/dist-packages/torchtext/legacy/data/dataset.py文件,将第13行的导入代码:
from torchtext.utils import download_from_url, unicode_csv_reader
修改为:
from torchtext.data.utils import download_from_url, unicode_csv_reader
注意:此方法会修改第三方库文件,后续更新包会覆盖修改,仅作为临时方案。
内容的提问来源于stack exchange,提问作者user18271687
相关产品推荐
相关产品推荐

