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

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


相关链接:

相关推荐
benchmark_cc8 小时前
如何用 Python + QuantDash 快速构建高胜率“配对交易(Pairs Trading)”策略?
开发语言·人工智能·python·pandas·量化交易·quantdash
程序员无隅9 小时前
Coding Agent 为什么压缩上下文后还能继续工作?上下文模块设计拆解
java·开发语言·数据库
Python+999 小时前
Java 枚举类(Enum)详解:从基础到高级应用
java·开发语言·python
二炮手亮子9 小时前
浅记java线程池
java·开发语言
zmzb010310 小时前
C++课后习题训练记录Day157
开发语言·c++
dunge202610 小时前
2026年7月最新ChatGPT Plus / Pro 与 Codex:当 AI Agent 最新5.6版本来袭,必须理解事务、幂等与补偿
开发语言·人工智能·python
爱吃牛肉的大老虎11 小时前
rust基础之环境搭建
java·开发语言·rust
openKylin11 小时前
与全球技术演进同频,openKylin 3.0从C迈向Rust
c语言·开发语言·rust·开源·开放原子·openkylin
小白学大数据11 小时前
两周完成爬虫技术栈升级:Scrapy 迁移 Crawlo 的路径与取舍
爬虫·python·scrapy
用户83562907805112 小时前
使用 Python 在 Excel 中添加和自定义文本框
后端·python