全部文章

编程语言

Python 环境配置

Python 安装、uv 包管理器、虚拟环境与 VS Code 配置

Python 环境配置

这页最适合当“把 Python 开发环境一次配顺”的起点。真正影响体验的往往不是 Python 本身,而是版本管理、虚拟环境、依赖安装和编辑器联动是否一致。

推荐安装顺序

  1. 先装 Python
  2. 再装 uv
  3. 统一项目级虚拟环境和依赖同步方式
  4. 最后补 VS Code、Lint、格式化和镜像配置

如果你主要做新项目,优先走 uv 路线;如果要维护老项目,再兼容 pip + venv

安装 Python

winget install Python.Python.3.12

验证:

python --version
pip --version

如果系统里已经有多个 Python 版本,建议同时确认 py -0pwhere python 的输出,避免装好了但命令仍指向旧版本。

使用 uv(推荐)

uv 是用 Rust 编写的极速 Python 包管理器,替代 pip + venv + pyenv。

uv 的价值不只是“更快”,而是把 Python 安装、虚拟环境、依赖同步和工具执行整合成了一套更稳定的工作流。

安装

winget install astral-sh.uv

常用命令

# 创建项目
uv init my-project

# 添加依赖
uv add requests
uv add --dev pytest

# 同步依赖
uv sync

# 运行脚本
uv run python main.py

# 管理 Python 版本
uv python install 3.12
uv python list

# 创建虚拟环境
uv venv

# 一次性运行工具(类似 npx)
uvx ruff check .

更推荐的项目工作流

uv init my-project
cd my-project
uv add requests
uv add --dev ruff pytest
uv run python main.py

这样能把项目依赖、开发依赖和运行入口一起整理好,新成员接手也更轻松。

进阶:uv 替代 pip

# 直接用 uv 替代 pip 安装
uv pip install requests

# 从 requirements.txt 安装
uv pip install -r requirements.txt

# 编译锁文件
uv pip compile requirements.in -o requirements.txt

如果你接手的是老项目,uv pip 这组命令很适合做平滑过渡,不需要一上来就重写整个依赖体系。

传统虚拟环境

# 创建虚拟环境
python -m venv .venv

# 激活(PowerShell)
.venv\Scripts\Activate.ps1

# 激活(CMD)
.venv\Scripts\activate.bat

# 安装依赖
pip install -r requirements.txt

# 导出依赖
pip freeze > requirements.txt

传统方案依然完全可用,尤其适合老仓库、教学环境和依赖 requirements.txt 的项目。

配置 pip 镜像

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

uv 也支持镜像配置:

# 环境变量方式
set UV_INDEX_URL=https://pypi.tuna.tsinghua.edu.cn/simple

镜像能改善下载体验,但如果你在排查依赖问题、兼容性问题或某些包版本差异,最好先回到官方源验证一次。

VS Code 配置

推荐扩展:

扩展说明
Python官方 Python 支持
Pylance类型检查和智能提示
Ruff极速 linter 和 formatter

推荐再确认两件事:

  • VS Code 已选中项目自己的解释器,而不是系统全局 Python
  • ruff、测试和运行命令尽量走当前虚拟环境

新项目建议

  • uv 管依赖和虚拟环境
  • 默认使用 .venv
  • 把代码质量工具(如 ruffpytest)一起纳入开发依赖
  • README 或文档里写清 uv sync / uv run 的使用方式

常见问题

明明装了 Python,终端里找不到

  • 先重开终端
  • 检查 PATH
  • Windows 上确认是否是 pythonpython3py 在生效

VS Code 跑的是错的解释器

通常不是 VS Code 坏了,而是解释器没选对。优先切到项目里的 .venv

要不要继续用 pip

可以。uv 并不是强制替代,而是更适合新项目和统一工作流。老项目只要稳定,也没必要为了“新”而硬改。

参考链接