如何在Windows上修复此pytorch错误?(ModuleNotFoundError:没有名为“ torch”的模块)

Viz*_*ary 7 python python-3.x anaconda conda pytorch

编辑:您可能想先跳到问题的结尾,我已经在注释/答案中遵循了一些建议,并且当前错误与原始错误有所不同(可能与numpy有关)。

这个错误ModuleNotFoundError: No module named 'torch'以大量线程显示,我整天都在尝试解决方案。我将使用线程中建议的解决方案逐一进行故障排除步骤。

系统信息:Windows 10

在此处输入图片说明 在此处输入图片说明

我做的第一件事是按照Pytorch上的说明进行操作,安装Anaconda并使用正确的机器设置进行此操作(注意:在这些屏幕截图中尝试使用v3.8之前先尝试了Python v3.7,没有一种解决方案适用于此) :

在此处输入图片说明

在此处输入图片说明

如您所见,按照说明进行操作应该很好。

因此,我进入python终端并尝试导入pytorch,如下所示:

在此处输入图片说明

ModuleNotFoundError: No module named 'torch'太好了,那又如何?好吧,我将错误粘贴到Google并开始进行4小时的野鹅追逐。

第一个结果,堆栈溢出答案:没有名为“ Torch”的模块, 让我们尝试选择的答案,它需要一些与版本相关的语法,因此让我们检查我的python版本:

在此处输入图片说明

好吧,按照答案的指示:

尝试使用pip安装PyTorch:

首先使用以下命令创建一个conda环境:

conda create -n env_pytorch python=3.6
Run Code Online (Sandbox Code Playgroud)

好:

在此处输入图片说明

使用以下方法激活环境:

source activate env_pytorch
Run Code Online (Sandbox Code Playgroud)

那是行不通的,但是如果我们按照提示给出的指示进行激活,我们可以这样做:

在此处输入图片说明

现在使用pip安装PyTorch:

pip install torchvision --user ( this will install both torch and torchvision)
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

嗯..那在火焰中上升,所以以下...

现在转到python shell并使用以下命令导入:

import torch
import torchvision
Run Code Online (Sandbox Code Playgroud)

...没有做任何新的错误,和以前一样。

好吧,到下一个线程,在PyTorch GitHub上:https : //github.com/pytorch/pytorch/issues/4827

他们正在尝试使用Jupyter,所以我尝试了这,这是另一个漫长的过程,就像上述过程一样,我真的不想使用Jupyter,因此我们将跳过这一过程。

另一个Pytorch GitHub线程:https : //github.com/pytorch/pytorch/issues/12004

@edtky您能否在CMD中给我以下命令的输出?

哪里conda.exe哪里pip.exe哪里python.exe

当然,我会试一试:

在此处输入图片说明

@edtky看起来您有两个Python环境。请尝试在Anaconda Prompt中导入火炬。

哦,我已经做到了。没有布宜诺斯艾利斯。

另一个线程:https : //discuss.pytorch.org/t/modulenotfounderror-no-module-named-torch/7309建议:

在这种情况下,您可能忘记激活安装pytorch的环境。也可能是PYTHONPATH变量中缺少的库。

好吧,我确实激活了上面所示的环境,但是我对PYTHONPTH变量一无所知,好像PyTorch设置指南会提到如果我需要手动执行此操作,我不知道如何执行该操作,并且您没有解释,因此让我们寻找其他答案。

有人写了整篇文章给我们这个建议:https : //medium.com/@valeryyakovlev/anaconda-no-module-named-torch-ead10946de66

我在anaconda环境中开始使用pytorch时遇到的另一个初学者错误import torch ModuleNotFoundError:没有名为'torch'的模块,将pytorch安装到anaconda的正确方法是在conda install -c pytorch pytorch之后,仅仅运行“ conda install pytorch”是不够的—找不到包。因此,请先使用“源激活{your_profile}”激活您的conda配置文件,然后运行command conda install -c...

好的,那就是新信息,现在我们的环境已激活,让我们再次尝试该命令:

在此处输入图片说明 在此处输入图片说明

好吧,那是很多绿色,让我们现在尝试...

在此处输入图片说明

好吧,我们不能赢得全部,所以让我们进入下一个线程:https : //forums.fast.ai/t/modulenotfounderror-no-module-named-torch-windows-10/12438/2

我也曾遇到过类似的问题,我只是使用pip安装了Torch和Torchvision,它的工作原理是……

好!我们试试吧:

在此处输入图片说明 在此处输入图片说明

哦,好了,另一种解决方案也扑灭了..

我在Windows 10中遇到了类似的问题。最后,我只能在Miniconda上安装割炬。

好吧,让我们尝试一下!

在此处输入图片说明 在此处输入图片说明 在此处输入图片说明 在此处输入图片说明 在此处输入图片说明 在此处输入图片说明

好吧,很酷,关键时刻:

在此处输入图片说明

太棒了!您只读了25分钟,就重新制作了解决该问题的所有尝试,而这甚至还不包括我花一个小时尝试使用Jupyter的时间,这同样惨败。我认为是时候将问题发布到StackOverflow了!

编辑1:

一个答案指出,我的日志之一是python 3.8与pytorch不兼容,这是一个错误,我会解决这个问题。取消安装3.8并安装3.7之后:

在此处输入图片说明 在此处输入图片说明 在此处输入图片说明

没有运气!记得我在第一段中实际上曾提到,当我在这些屏幕截图中尝试3.8时,我第一次使用3.7来完成所有这些操作

编辑2:

在上一次编辑中激活环境后,我忘记了安装。一旦我解决了这个问题,就会出现一个新错误:

在此处输入图片说明

cro*_*oik 4

Pytorch 需要3.5 <= python < 3.8。设置环境:

conda create -n pytorch python=3.7
conda activate pytorch
conda install pytorch
Run Code Online (Sandbox Code Playgroud)

您还应该确保从YourAnacondaInstallDirectory\envs\pytorch\python.exe激活的 conda 环境启动已安装的 python 解释器( )!后者很重要,因为 conda 将导出某些环境变量(请查看以了解由缺少环境变量引起的相关问题)。