没有找到名为"Torch"的模块。

75
我成功通过conda安装了pytorch。
conda install pytorch-cpu torchvision-cpu -c pytorch

我也成功通过pip安装了pytorch。
pip3 install https://download.pytorch.org/whl/cpu/torch-1.0.1-cp36-cp36m-win_amd64.whl
pip3 install torchvision

但是,它只能在Jupyter笔记本中运行。每当我尝试从控制台执行脚本时,都会收到错误消息:
No module named "torch"

当从控制台运行它时,您是否首先运行 source user\anaconda\bin\activate + conda activate myenv 呢? - ohlr
使用脚本时,您能否向我们展示“which python”的输出? - ohlr
有人能写下如何从源代码在Windows上安装PyTorch吗?我根本不使用conda(Anaconda),因为出于安全原因。我无法即时下载软件包/库。 - bit_scientist
对于这里只想使用pip安装pytorch的任何人:pip install torch - undefined
22个回答

93

尝试使用pip安装PyTorch:

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

conda create -n env_pytorch python=3.6

使用以下命令激活环境:

conda activate env_pytorch

现在使用pip安装PyTorch:

pip install torchvision 

注意: 这将同时安装 torch 和 torchvision。

现在打开 Python shell 并使用以下命令进行导入:

import torch
import torchvision

5
我出现了一个错误: ERROR: 无法找到符合要求torch==1.4.0(来自torchvision)的版本(从以下版本中选择:0.1.2,0.1.2.post1,0.1.2.post2) ERROR: 找不到匹配的发行版以满足torch==1.4.0(来自torchvision) - Sajjad Aemmi
只需卸载Python并清理目录,然后使用最新的Python版本重新安装,并转到https://pytorch.org/运行命令。 - JAGJ jdfoxito
我会说,毫无疑问,毫无了解对方系统情况就建议卸载Python是非常不明智的。如果在Linux上这样做了,然后在重新安装Python之前重启系统,那么他们将会遇到很多麻烦。 - undefined
不确定为什么在运行官方的conda命令conda install pytorch torchvision pytorch-cuda=11.7 -c pytorch -c nvidia后,import torch无法正常工作。我在conda模块列表中看到了pytorch,但没有看到torch。有时候只能通过pip来解决这个问题 :-(。 - undefined

23

我通过官方命令在我的macOS上进行了安装:

conda install pytorch torchvision -c pytorch

但是当我按照官方验证的步骤时,我遇到了和你一样的问题。

然后我创建了一个conda虚拟环境:

conda create --name learnpytorch python=3.5

并在环境中安装PyTorch:

conda install pytorch torchvision -c pytorch

运行验证,它有效。

希望这些能对你有所帮助。


12
如果您使用的是Anaconda Prompt,则有一种更简单的方法来解决这个问题。
conda install -c pytorch pytorch

4
通常情况下,如果torch/tensorflow已经成功安装,你仍然无法导入这些库,原因是你尝试导入的Python环境不是你安装的Python环境。例如,如果你使用python='/usr/bin/python'安装了torch/tensorflow,则无法将它们导入到python='/home/usrname/.../bin/python'。解决方法很简单,只需更改Python环境并重新导入即可。

3

我在从控制台安装PyTorch后遇到了同样的问题,没有关闭它并重新启动。通过重新启动控制台并重新输入我的环境变量,我解决了这个问题。


对于我的情况,我已经安装了PyTorch并激活了conda虚拟环境,但由于某种原因它没有找到该模块。但是在退出环境和终端后,重新启动所有内容(包括激活环境),它就可以工作了。 - 3tbraden

3

在安装torch库之前,请确保已安装NumPy和Scipy库。这对我来说至少在Windows上可行。

  1. 安装NumPy:pip install numpy
  2. 安装Scipy:pip install scipy
  3. 访问pytorch.org,选择您需要的版本并复制地址
  4. 粘贴地址并下载

2

我正在使用Anaconda Navigator 2.3.2 (Windows 10)启动Jupyter Notebook,以研究在Navigator中创建的新环境中的pyTorch。在启动之前,我通过启用新环境的命令提示符,使用来自pytorch.org的以下命令添加了pyTorch:

conda install pytorch torchvision torchaudio cpuonly -c pytorch

我遇到了No module named "torch"的问题,并花费了很多时间来研究。最终,我通过查看以下结果来解决了这个问题:

import sys
print(sys.path)

对我来说,这表明我的内核(也称为环境)的site-packages路径丢失了。因此,我编辑了内核的kernal.json文件,该文件位于:

<DRIVE_LETTER>:\Users\<USER_NAME>\AppData\Roaming\jupyter\kernels\<KERNAL_NAME>

添加一个env部分,将其添加到PYTHONPATH中,例如:

{
 "argv": [
  "<ANACONDA_INSTALL_DIR>\\envs\\<KERNAL_NAME>\\python.exe",
  "-m",
  "ipykernel_launcher",
  "-f",
  "{connection_file}"
 ],
    "env": {
    "PYTHONPATH": "..\\..\\..\\Users\\<USER_NAME>\\<ANACONDA_INSTALL_DIR_NAME>\\envs\\<KERNAL_NAME>\\Lib\\site-packages"
},
 "display_name": "<KERNAL_NAME>",
 "language": "python",
 "metadata": {
  "debugger": true
 }
}

请注意,我的情况下需要返回到驱动器的根目录上3个目录,因此,在PYTHONPATH条目的开头是..\\..\\..\\。你可能需要更改它。此外,如果你尝试使用全路径到环境的site-packages,它会将当前PYTHONPATH的内容作为前缀添加而不是作为单独实体添加。

2
你需要在程序的最顶部添加这个。
import torch

如果没有问题,请在Jupiter和命令行上都执行此程序,这样您就能够理解是否存在不匹配的情况。
import sys
print(sys.executable)

2

在笔记本上切换到python3


1

在 Windows 10 上使用 Conda,从 VS Code 终端运行脚本:

$ script.py

产生错误:

ModuleNotFoundError: No module named 'torch'

系统在环境外执行调用Python。 这个有效:
$ python script.py

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