Anaconda安装PyTorch后,外部环境调用torch.rand报错的解决方法
问题
通过Anaconda Prompt执行PyTorch官方安装命令:
conda install pytorch torchvision torchaudio cpuonly -c pytorch
完成安装后,在Anaconda Prompt内运行以下测试代码可正常执行:
import torch x = torch.rand(3,3) print(x)
但在Windows命令提示符(CMD)或Atom等文本编辑器中运行相同代码时,出现错误:
AttributeError: module 'torch' has no attribute 'rand'
import torch未报错,说明Python找到了某个空的torch模块。已尝试将Anaconda3的PyTorch路径添加到系统PATH环境变量,但无效果;曾用pip安装过PyTorch但已卸载,排除该因素。需要解决在Anaconda Prompt之外正常使用PyTorch的问题。
解决方案
确认外部环境使用Anaconda的Python解释器
打开Windows CMD,执行where python,查看输出路径是否指向Anaconda安装目录下的python.exe(如C:\Users\你的用户名\anaconda3\python.exe)。若输出其他路径,说明当前CMD用的不是Anaconda的Python,需先激活Anaconda环境:执行conda activate base(自定义环境替换为对应名称),之后再运行代码。排查同名文件冲突
检查运行代码的目录下是否存在自定义的torch.py或torch.pyc文件,这类文件会覆盖官方torch模块。若存在,直接重命名或删除即可。配置文本编辑器的Python解释器
以Atom为例:- 安装
script插件用于运行代码; - 进入插件设置,找到
Command选项,将路径改为Anaconda的Python解释器路径; - 保存设置后重新运行测试代码。
- 安装
重新安装PyTorch(可选)
若上述方法无效,在Anaconda Prompt中执行以下命令重装:conda uninstall pytorch torchvision torchaudio conda install pytorch torchvision torchaudio cpuonly -c pytorch确保安装无报错后,再激活环境测试。
内容的提问来源于stack exchange,提问作者wwedwa
相关产品推荐
相关产品推荐

