使用PyTorch时遇AttributeError:module 'torch'无'zeros'属性
解决PyTorch导入时的"partially initialized module"错误
问题分析
你遇到的AttributeError本质是Python导入了错误的"torch"模块,而非官方PyTorch库,常见由文件命名冲突、缓存残留或环境问题导致。同时你的代码里还有一个小问题:z.datatype应该改为z.dtype,这是PyTorch获取张量数据类型的正确属性。
解决步骤
重命名冲突脚本
检查你的Python脚本文件名,如果是torch.py,立刻重命名为其他名称(比如torch_test.py)——Python会优先导入当前目录下的同名脚本,而非系统安装的PyTorch库。清理缓存文件
删除当前目录下的torch.pyc文件(如果存在),以及名为__pycache__的缓存文件夹,这些残留文件会干扰模块导入。验证并修复PyTorch安装
- 打开终端执行以下命令,验证Python3.9环境下的PyTorch是否正常:
若能正常输出版本号,说明安装无问题;若报错,执行卸载重装:python3.9 -c "import torch; print(torch.__version__)"
(如果需要CUDA版本,替换为对应PyTorch 1.12.1的CUDA安装命令)pip3 uninstall torch -y pip3 install torch==1.12.1+cpu torchvision==0.13.1+cpu torchaudio==0.12.1 --extra-index-url https://download.pytorch.org/whl/cpu
- 打开终端执行以下命令,验证Python3.9环境下的PyTorch是否正常:
检查目录结构
当前目录下不要存在名为torch的文件夹,若有则重命名或删除,避免干扰库的导入。
内容的提问来源于stack exchange,提问作者Andreas
相关产品推荐
相关产品推荐

