pip install -i https://pypi.tuna.tsinghua.edu.cn/simple numpy

numpy 安装问题和 pystest 问题

第一部分:numpy 安装问题

一、问题现象

在 Windows 命令提示符(CMD)中执行:

```bash
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple numpy
```

显示安装成功:

```
Successfully installed numpy-2.4.6
```

但在 PyCharm 中写代码:

```python
import numpy as np
print(np.__version__)
```

运行后报错:

```
ModuleNotFoundError: No module named 'numpy'
```

---

二、根本原因

电脑里有多个不同的 Python 环境,pip 安装和 PyCharm 使用的不是同一个环境。

具体到本次案例:

环境 路径 用途
Python 3.14 D:\dev\python\python3.14.2\ CMD 中 pip 安装时使用的
Python 3.8(虚拟环境 .venv) D:/Pycharm_Location/.../.venv/ PyCharm 项目实际使用的

两个环境相互独立,包不共享。

---

三、验证方法

步骤1:查看 CMD 中 pip 属于哪个 Python

```bash
pip --version
```

输出:

```
pip 25.3 from D:\dev\python\python3.14.2\Lib\site-packages\pip (python 3.14)
```

→ 说明 CMD 的 pip 对应 Python 3.14

步骤2:查看 PyCharm 项目用的哪个 Python

· PyCharm → File → Settings → Project → Python Interpreter
· 显示:Python 3.8 (python) D:/.../.venv/Scripts/
  → 说明 PyCharm 用的是 Python 3.8 的虚拟环境

结论:两个环境不一样,所以装了也找不到。

---

四、解决过程

正确做法:在 PyCharm 自带的 Terminal 中安装

1. 打开 PyCharm,点击底部 Terminal 标签
2. 此时终端前面显示 (.venv),表示已激活项目的虚拟环境
3. 执行安装命令:
   ```bash
   pip install -i https://pypi.tuna.tsinghua.edu.cn/simple numpy
   ```
4. 输出:
   ```
   Successfully installed numpy-1.24.4
   ```
5. 在 PyCharm 中运行测试代码,成功输出 1.24.4

---

五、为什么版本号不一样?

安装位置 numpy 版本 原因
Python 3.14 环境 2.4.6(最新版) Python 3.14 支持最新版本
PyCharm 的 .venv(Python 3.8) 1.24.4 pip 自动选择兼容 Python 3.8 的旧版本

---

六、核心教训

问题 原因 解决方法
CMD 装的包,PyCharm 找不到 pip 和 PyCharm 用的不是同一个 Python 在 PyCharm 的 Terminal 里安装
pip --version 显示的 Python 版本 告诉你当前 pip 属于哪个 Python 确认和 IDE/项目用的是同一个
PyCharm 中查看解释器路径 确认当前项目用的哪个 Python 保持安装和运行环境一致

自查流程:

1. pip --version → 看 pip 属于哪个 Python
2. PyCharm Settings → Python Interpreter → 看项目用的是哪个 Python
3. 对比路径是否一致
4. 不一致 → 在 PyCharm Terminal 中安装,或切换 PyCharm 解释器

---

第二部分:ModuleNotFoundError: No module named 'pystest'

一、问题现象

在 PyCharm 中运行 test_package.py 文件,报错:

```
Traceback (most recent call last):
  File ".../test_package.py", line 1, in <module>
    import pystest
ModuleNotFoundError: No module named 'pystest'
```

用户明确表示:我没有写 import pystest 这行代码!

---

二、根本原因

PyCharm 自动生成了这行代码。

具体机制:

· 在 PyCharm 中新建 Python 文件时,如果文件名以 test_ 开头(如 test_package.py)
· PyCharm 会“自作聪明”地认为用户想创建单元测试文件
· 于是自动在文件顶部写入 import pystest 或类似的测试模板代码
· 这行代码用户没有亲手打,但确实存在于文件中

---

三、验证方法

打开 test_package.py 文件,查看第一行:

```python
import pystest   # ← 这行是 PyCharm 自动加的
import numpy as np
print(np.__version__)
```

删掉第一行后,代码正常运行。

---

四、解决方法

方法 操作
方法一 打开文件,手动删掉自动生成的 import pystest
方法二 新建文件,不以 test_ 开头命名,如 demo.py、my_code.py
方法三 如果真的需要测试文件,了解 PyCharm 的测试模板后再使用

---

五、核心教训

文件名以 test_ 开头 → PyCharm 自动加测试模板代码 → 可能导入不存在的模块 → 报错

以后新建 Python 文件时:

· ✅ 使用普通名字:demo1.py、practice.py、my_code.py
· ❌ 避免使用 test_ 开头(除非你真的要写单元测试)

---

附录:两个问题之间的关联

这两个问题在本次调试中没有直接关联,是先后出现的两个独立问题:

1. numpy 问题:环境不一致导致找不到已安装的包
2. pystest 问题:PyCharm 自动生成代码导致导入了不存在的模块

共同点:都是 ModuleNotFoundError,但原因不同:

· numpy:装错了环境
· pystest:文件不存在(自动生成的代码)

---

总结:遇到 ModuleNotFoundError 的自查清单

1. 是自己写的 import 吗?
   · 是 → 检查模块是否已安装 / 文件名是否写错
   · 不是 → 检查是否是 PyCharm 自动生成的(看文件名是否以 test_ 开头)
2. 是第三方库(如 numpy)吗?
   · 检查 pip 和 IDE 是否用的是同一个 Python 环境
   · 在 IDE 的 Terminal 中重新安装
3. 是自己写的 .py 文件吗?
   · 检查文件是否存在
   · 检查文件名是否写错(大小写、拼写)
   · 检查文件是否在同一个目录下

更多推荐