python安装包之环境不一致
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 文件吗?
· 检查文件是否存在
· 检查文件名是否写错(大小写、拼写)
· 检查文件是否在同一个目录下
更多推荐


所有评论(0)