要点
解释器决定语言行为,虚拟环境隔离项目依赖,uv 等工具管理安装与解析。当前终端找到的 Python 不一定是项目使用的 Python。
1. 安装 Python 3.14
2026 年的当前稳定版本为 Python 3.14 系列(维护版 3.14.7),新项目建议直接使用 Python 3.14。推荐用 uv 统一管理 Python 版本本身:
# macOS / Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
1. Windows (PowerShell)
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
安装 uv 后,Python 解释器也交给它管理:
# 安装指定版本的解释器
uv python install 3.14
1. 查看可用与已安装版本
uv python list
验证安装:
uv python find 3.14 # 输出解释器路径
uv run python --version # Python 3.14.x
💡 uv 兼容 venv/pip 工作流但快 10-100 倍,且能替你下载管理多个 Python 版本,避免污染系统解释器。
2. 为什么需要虚拟环境
Python 的第三方包默认装进全局解释器。两个项目若依赖同一包的不同版本,就会冲突。虚拟环境为每个项目提供隔离的包目录:
项目A (pydantic 2.12) ─┐
├─ 各自独立的 site-packages
项目B (pydantic 2.13) ─┘
传统做法是 python -m venv .venv + 手动 activate;uv 把这一切简化为自动完成。
3. 用 uv 创建第一个项目
mkdir demo && cd demo
uv init --python 3.14 # 生成 pyproject.toml、.python-version、main.py
生成的 pyproject.toml 是项目的唯一事实来源(类似 package.json):
[project]
name = "demo"
version = "0.1.0"
requires-python = ">=3.14"
dependencies = []
添加依赖并运行:
uv add rich # 安装并写入 dependencies,自动创建 .venv
uv add --dev ruff # 开发依赖写入 dependency-groups
uv run main.py # 在项目环境中运行脚本
常用命令速览:
| 命令 | 作用 |
|---|---|
uv add <pkg> | 添加运行依赖 |
uv remove <pkg> | 移除依赖 |
uv lock | 锁定精确版本(生成 uv.lock) |
uv sync | 按 lock 文件还原环境 |
uv run <cmd> | 在项目环境中执行命令 |
uv pip install <pkg> | 兼容 pip 习惯用法 |
⚠️ 陷阱:
uv run才会使用项目虚拟环境;直接敲python main.py用的是系统解释器,会报”找不到模块”。
4. 传统方案:venv + pip(需要认识)
团队或旧项目仍可能使用 venv,必须能看懂:
python -m venv .venv # 创建虚拟环境
source .venv/bin/activate # Linux/macOS 激活(Windows: .venvScriptsactivate)
pip install requests # 此时的 pip 安装到 .venv
deactivate # 退出虚拟环境
导出依赖用 pip freeze > requirements.txt,还原用 pip install -r requirements.txt。uv 同样支持这套流程(uv venv、uv pip install),可无缝迁移。
5. ruff:一个工具管格式与检查
ruff 用 Rust 编写,整合了 Black(格式化)、isort(导入排序)、flake8(代码检查)三大工具的功能:
uv run ruff check . # 静态检查(未用变量、未定义名、常见 bug)
uv run ruff format . # 格式化(Black 风格)
uv run ruff check --fix . # 自动修复可修复问题
在 pyproject.toml 中配置规则:
[tool.ruff]
line-length = 100
target-version = "py314"
[tool.ruff.lint]
select = ["E", "F", "I", "UP", "B"] # 基础/导入/升级建议/bug 警告
UP 规则组会提示现代写法,例如用 X | None 替代 Optional[X]。
6. VS Code 配置
推荐扩展:
- Python(微软官方)— 语言支持与调试
- Pylance — 基于 Pyright 的类型检查与智能提示
- Ruff — 保存时自动格式化与修复
工作区设置 .vscode/settings.json:
{
"python.defaultInterpreterPath": ".venv/bin/python",
"[python]": {
"editor.defaultFormatter": "charliermarsh.ruff",
"editor.formatOnSave": true,
"editor.codeActionsOnSave": {
"source.organizeImports.ruff": "explicit",
"source.fixAll.ruff": "explicit"
}
},
"python.analysis.typeCheckingMode": "basic"
}
关键点:defaultInterpreterPath 指向项目 .venv 中的解释器,编辑器内运行、调试、提示才与命令行一致。Windows 下路径为 .venv\Scripts\python.exe。
调试:按 F5 选择”Python File”,断点、变量查看、REPL 均开箱即用。
最佳实践
为项目建立独立环境并记录解释器和依赖约定,避免一个项目升级库影响另一个。锁文件与项目清单可以提交,虚拟环境目录属于可重建产物,不应入库。
uv run 让命令使用项目环境,uvx 通常使用隔离工具环境且可能需要下载,并非“无需安装即可获得任意工具”。CI 要按锁文件和约定版本重建,再实际执行测试,不能只检查文件存在。
练习与实践
练习一:搭建项目
- 用
uv init创建pylab项目,指定 Python 3.14 - 添加
rich依赖,编写脚本打印彩色表格 - 用
uv run ruff check --fix .清理代码
练习二:环境隔离验证
- 在
pylab中uv add "pydantic==2.12" - 新建
pylab2项目,uv add pydantic(最新版,2.13.x) - 分别运行打印版本号的脚本,确认两环境版本不同
评估标准:pylab 内 uv run python -c "import pydantic; print(pydantic.VERSION)" 输出 2.12.x。
相关文档
- 📄 第一个 Python 脚本 — 环境就绪后的下一步
- 📄 Python 关键字详解 — 语言核心概念入口
- 📄 标准库导航 — 了解解释器自带的能力边界