解决 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

相关推荐
wuyk5551 小时前
Python实战项目02:学生成绩管理系统(控制台|CSV导出|完整落地)
开发语言·python
qq5918406857 小时前
uiautomator2自动化安卓手机操作
python
80s7778 小时前
动态代理和静态代理的区别,动态代理怎么提高网络安全性
python
niucloud-admin9 小时前
JAVA V6 多商户商城 开发文档——job 计划任务开发
java·python·github
小叶肥辉9 小时前
LangChain链和LangGraph图的学习笔记【三】——分别用langchain_openai库和langchain_community库调用大模型
笔记·python·langchain
2401_8734794010 小时前
IP属地为什么有时显示外省?用IP查询工具核查动态分配、运营商出口与GeoIP库
python·tcp/ip·ip
OKkankan12 小时前
LangChain 能力详解!:输出解析、RAG、向量数据库与 Retriever 检索器
数据结构·python·langchain·ai应用
山哥ol13 小时前
【Geany 环境配置与中文乱码解决参考】
python
会飞锦鲤13 小时前
基于 Mask R-CNN 的药片缺陷检测系统
人工智能·pytorch·python·神经网络·resnet-50