导入torchtext触发OSError: [WinError 127]错误的技术求助
解决torchtext导入时的WinError 127问题
问题场景
运行包含import torchtext语句的Test.py文件时,触发如下错误:
Traceback (most recent call last): File "C:\Users\anryu\pythonProject\Test.py", line 10, in <module> import torchtext File "C:\Users\anryu\pythonProject\.venv\Lib\site-packages\torchtext\__init__.py", line 18, in <module> from torchtext import _extension # noqa: F401 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\anryu\pythonProject\.venv\Lib\site-packages\torchtext\_extension.py", line 64, in <module> _init_extension() File "C:\Users\anryu\pythonProject\.venv\Lib\site-packages\torchtext\_extension.py", line 58, in _init_extension _load_lib("libtorchtext") File "C:\Users\anryu\pythonProject\.venv\Lib\site-packages\torchtext\_extension.py", line 50, in _load_lib torch.ops.load_library(path) File "C:\Users\anryu\pythonProject\.venv\Lib\site-packages\torch\_ops.py", line 1295, in load_library ctypes.CDLL(path) File "C:\Users\anryu\AppData\Local\Programs\Python\Python312\Lib\ctypes\__init__.py", line 379, in __init__ self._handle = _dlopen(self._name, mode) ^^^^^^^^^^^^^^^^^^^^^^^^^ OSError: [WinError 127] The specified procedure could not be found
环境配置:CPU运行环境,Python 3.12、torch 2.4.0、torchtext 0.18.0(版本标注兼容),已尝试更换Python及PyTorch版本,问题未解决。
解决步骤
重新安装torchtext(指定源或安装方式)
卸载现有torchtext后,通过conda或指定PyTorch官方索引的pip安装,确保获取适配CPU的完整版本:# 卸载现有版本 pip uninstall torchtext -y # 方式1:用conda安装 conda install torchtext==0.18.0 cpuonly -c pytorch # 方式2:用pip指定CPU源安装 pip install torchtext==0.18.0 --index-url https://download.pytorch.org/whl/cpu --no-cache-dir --force-reinstall安装Microsoft Visual C++ Redistributable
WinError 127多因缺失依赖DLL导致,安装对应版本的Microsoft Visual C++ Redistributable for Visual Studio 2022(x64版本),覆盖可能缺失的运行时库。降级Python到3.11版本
Python 3.12对部分C扩展库的兼容性仍存在适配问题,创建新虚拟环境并安装Python 3.11,再重新部署依赖:# 创建Python3.11虚拟环境 python -m venv .venv311 # Windows下激活环境 .venv311\Scripts\activate # 安装适配的torch和torchtext pip install torch==2.4.0 torchtext==0.18.0 --index-url https://download.pytorch.org/whl/cpu手动替换libtorchtext.dll文件
从PyTorch官方下载对应版本的torchtext预编译whl包,解压后提取libtorchtext.dll,替换虚拟环境中site-packages\torchtext\lib目录下的同名文件。
内容的提问来源于stack exchange,提问作者Anrg07
相关产品推荐
相关产品推荐

