【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 中需要手动切换解释器到新的虚拟环境

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


相关链接:

相关推荐
→长歌2 小时前
2026Java面试30题精解
java·python·面试
小CC吃豆子2 小时前
C/C++中 int 的最大最小值
c语言·开发语言·c++
Bert.Cai2 小时前
pymysql自动提交设置
开发语言·python
吃一根烤肠2 小时前
Python调试革命:用ChatGPT Copilot快速定位复杂bug
python·chatgpt·copilot
欧米欧2 小时前
C++模板初阶
开发语言·c++
酉鬼女又兒2 小时前
零基础快速入门前端蓝桥杯Web考点深度解析:var、let、const与事件绑定实战(可用于备赛蓝桥杯Web应用开发)
开发语言·前端·javascript·职场和发展·蓝桥杯·es6·html5
IT从业者张某某2 小时前
Dockerfile详解
java·开发语言
南境十里·墨染春水2 小时前
C++笔记 类模板(面向对象)
开发语言·c++·笔记
小白学大数据2 小时前
攻克滑动拼图反爬:Python 高效爬取网页图片实战案例
开发语言·爬虫·python