无法在Conda Env中导入PyTorch

时间:2019-09-24 16:23:03

标签: python python-3.x anaconda pytorch conda

上周,我在一个项目中使用了conda env。我有一个星期没动过项目。我只是去运行一个没有错误的python文件(python file.py)。

现在出现以下错误:

Traceback (most recent call last):
  File "file.py", line 2, in <module>
    from torch.utils.data import Dataset, DataLoader
ModuleNotFoundError: No module named 'torch'

为了进行故障排除,我打开了一个python控制台并运行以下代码:

>>> import torch

结果是以下错误消息:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'torch'

如果我使用conda list -n <env_name>检查所有已安装的软件包,则可以看到实际上已经安装了PyTorch,就像上周一样。

...
pytorch                   1.2.0           py3.7_cuda9.2.148_cudnn7.6.2_0    pytorch
...
torchvision               0.4.0                 py37_cu92    pytorch
...

这是我使用python启动python控制台时看到的内容:

Python 3.7.4 (default, Aug 13 2019, 20:35:49) 
[GCC 7.3.0] :: Anaconda, Inc. on linux

基本环境中python -c 'import sys; print(sys.path)的输出是:

['', '/home/<name>/anaconda3/lib/python37.zip', '/home/<name>/anaconda3/lib/python3.7', '/home/<name>/anaconda3/lib/python3.7/lib-dynload', '/home/<name>/anaconda3/lib/python3.7/site-packages']我个人没有对PYTHONPATH进行任何改动。

如果我在运行conda env(非基础)的情况下运行python -c 'import sys; print(sys.path)',则会得到:

['', '/home/<name>/anaconda3/envs/<env_name>/lib/python37.zip', '/home/<name>/anaconda3/envs/<env_name>/lib/python3.7', '/home/<name>/anaconda3/envs/<env_name>/lib/python3.7/lib-dynload', '/home/<name>/anaconda3/envs/<env_name>/lib/python3.7/site-packages']

这完全是怪异的,无法弄清楚在过去一周中发生了什么以及可能发生了什么,而没有我触摸代码或对Anaconda进行任何更改。

1 个答案:

答案 0 :(得分:3)

  1. 打开 anaconda提示,然后运行此

    conda install PyTorch -c PyTorch

  2. 如果您没有升级自己的点,请使用此命令进行更新

    python -m pip install –upgrade pip

  3. 第一步后运行此

    pip3 install torchvision

希望它能工作。