运行torch==1.4.0项目报错NameError: name '_C' is not defined怎么解决?
Linux环境运行torch1.4.0项目触发NameError: name '_C' is not defined的解决方案
该错误本质为PyTorch内部C扩展模块加载失败,针对纯Linux命令行场景的可行解决方法如下:
- 排查环境匹配问题,先卸载现有torch包重新安装匹配版本
执行卸载命令:pip uninstall -y torch torchvision
卸载完成后从PyTorch官方1.4.0版本归档库获取对应Linux平台、适配你所需CPU/CUDA版本的安装命令执行即可,避免直接执行pip install torch==1.4.0拉取到其他系统架构的不兼容包 - 验证Python环境一致性
执行命令python -c "import torch; print(torch.__version__)",确认输出为1.4.0且无导入报错,排查是否存在虚拟环境未激活、多Python版本安装路径冲突的问题,确保安装torch的Python环境和运行项目的环境为同一个 - 排查项目路径冲突
检查项目根目录和运行命令的当前目录下,是否存在命名为torch的文件夹、torch.py/torch.pyc文件,该类命名会导致Python优先导入本地文件而非系统安装的PyTorch库,确认存在后修改对应文件/文件夹名称即可 - 排查权限问题
若你此前使用root权限安装torch,当前用普通用户运行项目会出现库文件读取权限不足的问题,可重新用当前用户执行torch安装命令并添加--user参数,或切换到对应权限的用户运行项目 - 排查glibc版本兼容问题
torch 1.4.0要求系统glibc版本不低于2.17,执行ldd --version可查看当前系统glibc版本,若版本过低可通过conda安装适配低版本glibc的torch 1.4.0包,或升级系统glibc版本
内容的提问来源于stack exchange,提问作者polm23
相关产品推荐
相关产品推荐

