直接运行 pip uninstall -r requirements.txt 并不是解决问题的最佳方案,甚至可能带来麻烦。
原因如下:
- 这解决不了根本问题 :你刚才的报错是因为版本冲突 。如果你卸载了,再次运行
pip install -r requirements.txt,它还是会安装旧版本,然后你又会看到同样的红色报错。 - 可能会破坏其他项目 :看你的路径
d:\develop\python\lib\site-packages\,这说明你把包安装在了全局 Python 环境 中。- 如果你卸载了
fastapi等包,你电脑上其他依赖这些包的项目可能就跑不起来了。 - 如果你不卸载,现在的报错是因为你的
requirements.txt锁定的版本太旧,和电脑上已有的新包打架。
- 如果你卸载了
✅ 正确的解决方案:使用虚拟环境
不要在全局环境里纠结版本冲突,创建一个独立的虚拟环境,让你的项目拥有自己独立的包,互不干扰。
请按以下步骤操作:
1. 取消当前操作
在终端里输入 n 然后回车,取消卸载。
2. 创建虚拟环境
在你的项目根目录(backend 文件夹下)运行:
# 创建名为 venv 的虚拟环境
python -m venv venv
3. 激活虚拟环境
这是最关键的一步,激活后,你安装的包只会存在于这个文件夹里,不会影响全局。
# 运行这个脚本激活
.\venv\Scripts\activate
激活成功后,你的命令行前面会出现 (venv) 的标识,像这样:
(venv) D:\develop\code\trip\backend>
4. 重新安装依赖
现在,在这个干净的环境里安装:
pip install -r requirements.txt
结果:
因为虚拟环境是空的,pip 会直接安装 requirements.txt 里指定的版本,不会有"版本冲突"的报错(因为没有旧版本跟它抢)。你的项目就能跑起来了。
总结
- 不要在全局环境里反复卸载安装。
- 一定要 用
python -m venv venv创建隔离环境。 - 这是 Python 开发的标准流程,能帮你省去 99% 的依赖烦恼。