【VS Code 中 Python 虚拟环境降级完整指南(含 uv 工具实战)】

前言

在使用 Python 进行项目开发时,我们经常会遇到需要切换 Python 版本的情况。比如项目依赖某个特定的 Python 版本,或者发现当前版本与某些库不兼容。今天我就遇到了这样一个场景:原本在 .venv 虚拟环境中使用的是 Python 3.14,但项目需要降级到 Python 3.12。整个过程踩了一些坑,在此记录分享,希望能帮助到遇到同样问题的开发者。

问题背景

我的项目目录结构如下:

复制代码
C:\Users\15135\Desktop\xm-file\ocr\
├── .venv\          # 虚拟环境
├── ocr.py          # Python 脚本
└── ...             # 其他文件

运行 ocr.py 时遇到 ModuleNotFoundError: No module named 'numpy',但安装 paddle-gpu 失败,决定将 Python 版本从 3.14 降级到 3.12。

核心知识点

重要概念 :Python 虚拟环境一旦创建,其中的 Python 版本就被固定了,无法直接原地降级。唯一的解决方案是删除旧环境,用目标 Python 版本重新创建

方案:使用 uv 管理 Python 版本(推荐)

1. 退出当前虚拟环境

powershell 复制代码
deactivate

2. 查看 uv 已安装的 Python 版本

powershell 复制代码
uv python list

输出示例:

复制代码
cpython-3.14.3-windows-x86_64-none    C:\Users\15135\AppData\Roaming\uv\python\...
cpython-3.13.12-windows-x86_64-none   <download available>
cpython-3.12.13-windows-x86_64-none   <download available>
cpython-3.11.15-windows-x86_64-none   <download available>
...

3. 安装目标 Python 版本(如 3.12)

powershell 复制代码
uv python install 3.12

4. 删除旧的虚拟环境

powershell 复制代码
Remove-Item -Recurse -Force .venv

5. 用指定版本重新创建虚拟环境

powershell 复制代码
uv venv --python 3.12 .venv

6. 激活新环境

powershell 复制代码
.venv\Scripts\activate

7. 验证 Python 版本

powershell 复制代码
python --version
# 应显示 Python 3.12.13

8. 重新安装项目依赖

powershell 复制代码
# 如果有 requirements.txt
pip install -r requirements.txt

# 或使用 uv 安装(更快)
uv pip install -r requirements.txt

# 或逐个安装
pip install numpy
# 根据运行报错继续安装其他依赖

9. 在 VS Code 中切换解释器

  • Ctrl+Shift+P 打开命令面板
  • 输入 Python: Select Interpreter
  • 选择项目目录下 .venv 中的 Python 解释器

踩坑记录

坑1:python -0 命令无效

powershell 复制代码
python -0
# Unknown option: -0

原因-0py 命令的选项,不是 python 的。正确用法是 py -0

坑2:py 命令未找到

powershell 复制代码
py -0
# py : 无法将"py"项识别为 cmdlet...

原因 :Python Launcher for Windows 未安装或未添加到 PATH。解决方案是安装 Python 时勾选 "py launcher" 选项,或使用 uv 替代。

坑3:激活虚拟环境后仍显示旧版本

powershell 复制代码
.venv\Scripts\activate
python --version
# 还是显示 3.14

原因 :没有删除旧的 .venv 目录就直接重建。解决:删除旧环境再重建。

完整操作流程实录

以下是我实际操作的全过程,每一步都有输出:

powershell 复制代码
# 1. 查看可用 Python 版本
PS> uv python list
cpython-3.14.3-windows-x86_64-none    # 当前使用的版本
cpython-3.12.13-windows-x86_64-none   <download available>
...

# 2. 安装 Python 3.12
PS> uv python install 3.12
Installed Python 3.12.13 in 12.22s
 + cpython-3.12.13-windows-x86_64-none

# 3. 删除旧虚拟环境
PS> Remove-Item -Recurse -Force .venv

# 4. 创建新虚拟环境
PS> uv venv --python 3.12 .venv
Using CPython 3.12.13
Creating virtual environment at: .venv
Activate with: .venv\Scripts\activate

# 5. 激活环境
PS> .venv\Scripts\activate

# 6. 安装依赖
(.venv) PS> pip install numpy
Successfully installed numpy-1.26.4

# 7. 运行程序
(.venv) PS> python ocr.py
# 程序正常运行

常用命令速查表

操作 命令
退出虚拟环境 deactivate
查看 uv 管理的 Python 版本 uv python list
安装指定 Python 版本 uv python install 3.12
删除虚拟环境 Remove-Item -Recurse -Force .venv
创建指定版本的虚拟环境 uv venv --python 3.12 .venv
激活虚拟环境 .venv\Scripts\activate
查看 Python 版本 python --version
安装依赖(pip) pip install -r requirements.txt
安装依赖(uv) uv pip install -r requirements.txt
VS Code 切换解释器 Ctrl+Shift+PPython: Select Interpreter

总结

  1. 虚拟环境 Python 版本不可直接降级,必须重建
  2. 推荐使用 uv 管理 Python 版本和虚拟环境,速度快且易用
  3. 删除旧环境再重建 是最干净、最可靠的方式
  4. 重建后记得重新安装项目依赖
  5. 在 VS Code 中需要手动切换解释器到新的虚拟环境

希望这篇文章能帮助到遇到类似问题的开发者。如果你有更好的方法或遇到其他问题,欢迎在评论区交流讨论!


相关链接:

相关推荐
jerryinwuhan6 小时前
基于各城市站点流量的复合功能比较
开发语言·php
曦月逸霜6 小时前
啥是RAG 它能干什么?
人工智能·python·机器学习
2301_769340676 小时前
如何在 Vuetify 中可靠捕获 Chip 关闭事件(包括键盘触发).txt
jvm·数据库·python
迈巴赫车主6 小时前
Java基础:list、set、map一遍过
java·开发语言
南 阳8 小时前
Python从入门到精通day66
开发语言·python
m0_596749098 小时前
JavaScript中手动实现一个new操作符的底层逻辑
jvm·数据库·python
DTAS尺寸公差分析软件8 小时前
DTAS3D v13.0 三维尺寸公差分析软件可申请试用
python·尺寸公差分析·三维公差分析·公差仿真软件·尺寸链计算
DTAS尺寸公差分析软件8 小时前
DTAS 3D公差分析软件最新版本介绍
python·3d·尺寸公差分析·尺寸链计算·尺寸工程·尺寸链校核软件·公差仿真分析
PieroPc8 小时前
CAMWATCH — 局域网摄像头监控系统 Fastapi + html
前端·python·html·fastapi·监控
feasibility.8 小时前
反爬十层妖塔:现代爬虫攻防的立体战争
爬虫·python·科技·scrapy·rust·go·硬件