虚拟环境与依赖管理
每个项目使用独立的虚拟环境,是 Python 开发的最佳实践,可避免依赖冲突与系统污染。
venv 创建与激活
venv 是标准库自带的轻量虚拟环境工具。
python -m venv .venv
source .venv/bin/activate # Linux/macOS
.venv\Scripts\activate # Windows
deactivate # 退出
激活后 python 与 pip 指向隔离的目录,使用 which python 可确认。
pip 常用命令
pip install requests # 安装
pip install requests==2.31.0 # 固定版本
pip install -r requirements.txt # 按文件安装
pip freeze > requirements.txt # 导出当前环境
pip uninstall requests
requirements.txt
最朴素的依赖声明,适合部署场景。推荐生产环境用 == 锁版本,并配合 pip-tools 生成 requirements.in 与 requirements.txt。
pyproject.toml
PEP 621 标准化了项目元数据与依赖声明,几乎所有现代构建工具都基于它。
[project]
name = "myapp"
version = "0.1.0"
dependencies = [
"requests>=2.31",
]
poetry 与 uv 简介
- poetry:依赖解析、虚拟环境、打包发布一体化,命令如
poetry add、poetry install - uv:Rust 实现的极速工具,兼容
pip/pyproject.toml,在解析与安装速度上大幅领先
两者均使用 pyproject.toml,迁移成本低。选择取决于团队对速度与生态的偏好。