解决 ModuleNotFoundError: No module named ‘torch‘ 笔记

在PyCharm解释器里去编写代码。

复制代码
#判断是否为pytorch张量

import torch
#创建python列表
a = [1.0,2.0,3.0]
#是否为pytorch张量
print("a = [1.0,2.0,3.0]\na是否为pytorch张量:",torch.is_tensor(a))
print("a[0]: ",a[0])

运行结果如下:

代码中引入了pytorch包,需注意在pycharm的环境安装pytorch包。否则代码运行会出现以下报错:ModuleNotFoundError: No module named 'torch'。

解决办法:

1,查一下pycharm用的环境,这类报错的本质是,运行的python和我装包的python不是同一个环境。

2,勿一看到缺包就盲目 pip stall,因为装错环境就等于白装。

详细命令如下:

摸清电脑上有哪些python环境:

复制代码
#在windows的cmd里运行

where python

python --version

#看conda有哪些环境

conda env list

3,确认pytorch项目实际用的是哪个环境

pycharm是项目解释器,不一定等于命令行默认的python。

方法 A(界面操作,推荐日常用):

File → Settings → Project: Python → Python Interpreter,看当前选中的解释器路径。

方法 B(看配置文件):

  • 项目 .idea/misc.xml 里有 project-jdk-name="Python 3.10 (Python) (2)"

  • 再打开 PyCharm 的配置

C:\Users\30630\AppData\Roaming\JetBrains\PyCharm2022.2\options\jdk.table.xml,找到这个名称对应的真实路径:

<name value="Python 3.10 (Python) (2)" />

<homePath value="D:\Code\Python\venv\Scripts\python.exe" />

→ 确认 PyCharm 用的是 项目自带的虚拟环境 D:\Code\Python\venv。

4,检查目标环境里有没有 torch

5,判断装 CPU 版还是 GPU 版

nvidia-smi # 有输出说明有 NVIDIA 显卡,可装 GPU 版;报错则装 CPU 版

6,安装(关键:用对解释器 + 用国内镜像)

第一次尝试失败(默认源太慢,15 秒超时):

pip install torch --index-url https://download.pytorch.org/whl/cpu

结果:Read timed out(超时)

第二次成功(换成清华镜像 + 加长超时时间):

D:\Code\Python\venv\Scripts\python.exe -m pip install torch \

-i https://pypi.tuna.tsinghua.edu.cn/simple \

--timeout 300 --retries 10

要点:

  • 一定用 venv 里的 python.exe 来 pip,而不是裸 pip,否则会装到别处

  • -i 清华镜像 解决国内网络慢/超时

  • --timeout 300 把默认 15 秒超时拉长,避免大文件下载中断

7,

补装依赖 numpy(torch 运行需要)

第一次跑通后冒出警告 No module named 'numpy',于是:

D:\Code\Python\venv\Scripts\python.exe -m pip install numpy \

-i https://pypi.tuna.tsinghua.edu.cn/simple --timeout 300

8,验证

D:\Code\Python\venv\Scripts\python.exe tensor_create.py

输出正常,问题解决。

为什么会踩坑,下次如何避免?

  1. 一个电脑上有多个 Python 环境(系统 Python、venv、多个 conda

环境),装包前一定要搞清楚「装给谁」。

  1. 环境名 ≠ 装了包:新建 conda 环境只是个空壳,要自己 conda install 或

pip install。

  1. PyCharm 有自己选中的解释器,和命令行默认 Python

可能不是同一个,装包要装到 PyCharm 用的那个。

  1. 国内网络装大包要用镜像 + 加长超时,否则 Read timed out。

通用速查(以后遇到任何 "No module named X")

1. 确认哪个环境缺这个包(用 PyCharm 的解释器路径替换)

<解释器路径>\python.exe -c "import X"

2. 装到那个环境

<解释器路径>\python.exe -m pip install X -i

https://pypi.tuna.tsinghua.edu.cn/simple --timeout 300

相关推荐
lie..5 分钟前
30天从零开始学AI应用开发(Day 19):项目二完结:RAG 知识库问答系统,把自己攒的资料变成私人顾问
开发语言·人工智能·python
郝学胜_神的一滴40 分钟前
Numpy数据处理详解 01:NumPy 从环境搭建到入门上手
人工智能·python
破芽1 小时前
python知识点小结01
python
打工仔折腾 AI1 小时前
从零写一个CAD 05:以鼠标为中心的滚轮缩放矩阵顺序不能反
后端·python·线性代数·性能优化·矩阵·计算机外设·ai agent 实战
计算机毕业编程指导师1 小时前
【计算机毕设选题】基于Hadoop+Spark的化妆品销售数据分析与可视化系统源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习
大数据·hadoop·python·计算机·spark·课程设计·化妆品
泡海椒1 小时前
JQuick-Excel 导入反向映射实战:让中文表头稳定落到业务字段
开发语言·python·excel
泡茶喝茶写代码2 小时前
A股量化数据工程:从 REST 接口到策略信号(第 7 篇):盈利能力因子:毛利率、净利率与 ROE
java·python·股票数据api·股票数据api接口·股票api数据接口·股票量化数据api·股票量化数据接口
朝朝辞暮i2 小时前
VLA 系统学习第 2 课:Behavior Cloning——机器人究竟怎么从示范中学动作?
人工智能·python·vla
znx9392 小时前
手动交易 VS 量化交易:孰优孰劣?深度对比
人工智能·python·机器学习·期魔方