无法导入Pytorch [WinError 126] 指定的模块找不到。

22

我正在尝试在Windows 10上进行Pytorch/Torchvision的基本安装和导入。我安装了Anaconda,并创建了一个名为photo的新虚拟环境。我打开了Anaconda提示符,激活了该环境,然后运行了以下命令:

(photo) C:\Users\<user>\anaconda3\envs>conda install pytorch torchvision cudatoolkit=10.2 -c pytorch**

这成功安装了PyTorch。运行conda list,我看到:

  pytorch            pytorch/win-64::pytorch-1.5.0-py3.7_cuda102_cudnn7_0

  torchvision        pytorch/win-64::torchvision-0.6.0-py37_cu102

我在虚拟环境中打开Python命令提示符,并输入以下命令:

import torch

会显示以下错误信息:

Traceback (most recent call last): File "", line 1, in File "C:\Users\njord\anaconda3\envs\photo\lib\site-packages\torch__init__.py", line 81, in ctypes.CDLL(dll) File "C:\Users\njord\anaconda3\envs\photo\lib\ctypes__init__.py", line 364, in init self._handle = _dlopen(self._name, mode) OSError: [WinError 126] 指定的模块无法被找到

我已经卸载/重新安装了Python和Anaconda,但是仍然遇到相同的问题。 希望得到建议。

6个回答

26

2
嗨,我也遇到了同样的问题,但我有一张专门的Nvidia显卡。我尝试强制conda和python使用该显卡而不是英特尔集成显卡,但这也没有帮助。 - Yechiam Weiss
@YechiamWeiss,听起来你的BIOS不是默认模式?因为当我插入支持CUDA的显卡时,它会自动切换到新卡,旧的集成卡默认被禁用。只有通过保留默认设置才能启用两张卡。 - questionto42
1
@Lorenz 我不是很确定;自从我得到电脑以来,它就有nvidia的自动选择功能,根据使用的应用程序选择使用哪张卡。但我找出了问题所在,我愚蠢地忘记了需要实际下载Cuda驱动程序 :) - Yechiam Weiss
1
@YechiamWeiss 这不是傻瓜问题。请看 https://superuser.com/questions/1572640/do-i-need-to-install-cuda-separately-after-installing-the-nvidia-display-driver/1572762#1572762。我也因为意外而犯了同样的“愚蠢”错误,这种错误信息政策让我浪费了很多时间。我曾经发过很多有关cuda和cudatoolkit的问题,只因为没有人清楚地概述实践中应该使用哪个cuda安装包(如果需要的话)。现在,我的很多问题都导致我的账号被禁言。 - questionto42
例如,独立的conda cudatoolkit不应该为pytorch安装。Pytorch有自己的二进制安装程序包含该cudatoolkit(包括cuDNN),应该直接使用相应参数进行安装以正确获取依赖项。即使到现在,我仍然不知道如果我想要安装pytorch和tensorflow是否必须在分开的环境中安装,由于它们可能对cuda有不同的依赖关系,或者环境只是为了获得更好的软件包组织建议。 - questionto42
显示剩余3条评论

2

卸载您已安装的pytorch,并尝试使用conda进行安装。

conda install PyTorch -c PyTorch

如果这个代码不能运行,请在命令提示符中运行。
pip3 install torchvision

1
两种情况下都存在相同的问题。 - Njord Soevik
1
我现在已经使用pip卸载了cudatoolkit、torch和torchvision,并重新安装,但问题仍然存在。 - Njord Soevik
2
我以管理员身份运行Anaconda Prompt,重复上述步骤,但仍然没有成功... - Njord Soevik
卸载所有与pytorch相关的库,包括pytorch。然后运行以下命令:conda install pytorch torchvision cudatoolkit=9.2 -c pytorch -c defaults -c numba/label/dev - Kalana
请确保您的GPU支持cuda - Kalana
显示剩余3条评论

0

不确定步骤(2)是否正确,因为拉取请求的最新评论说: 此PR已被还原,因为它导致TestTypeHints失败,请参见https://app.circleci.com/pipelines/github/pytorch/pytorch/167977/workflows/2cf6c758-57a3-4a45-a465-01dfd7832a31/jobs/5432835/tests - Yechiam Weiss

0

我已经从https://visualstudio.microsoft.com/visual-cpp-build-tools/安装了Microsoft Build Tools。

我已经勾选了与C++部分相关的所有框。

在此之前,我只能从Jupyter笔记本中导入torch,但无法从ipython或python shell中导入。我不知道为什么,但现在它可以工作了。


0

您应该使用命令行在Windows或任何支持的平台上安装PyTorch。这很简单:

  • 在Web浏览器中打开URL https://pytorch.org/
  • 找到“本地快速入门”部分
  • 选择您的平台
  • 在您的终端上运行命令(黄色高亮显示)

enter image description here

这样你就可以使用以下任何一种方式安装它:

  • Conda
  • Pip
  • LibTorch
  • 源码

0

您可以尝试在您要安装的版本上使用pip而不是pip3

pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu117


你的回答可以通过提供更多支持信息来进行改进。请编辑以添加进一步的细节,如引文或文档,以便他人确认您的回答是否正确。您可以在帮助中心找到有关如何编写良好答案的更多信息。 - Community
你能详细说明一下吗? - TheTridentGuy supports Ukraine
你能详细说明一下吗? - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接