Update 2025: 时代变了。虽然 Pipenv 曾经是很好的选择,但现在由 Rust 编写的
uv才是版本答案。它比 pip 快 10-100 倍,且完美支持pyproject.toml标准。
# 1. 安装 uv (The New Standard)
不需要先装 Python,uv甚至可以帮你管理 Python 版本。
Mac / Linux:
curl -LsSf [https://astral.sh/uv/install.sh](https://astral.sh/uv/install.sh) | sh
Windows (PowerShell):
powershell -c "irm [https://astral.sh/uv/install.ps1](https://astral.sh/uv/install.ps1) | iex"
# 2. 初始化项目 (npm init)
进入你的项目目录,执行初始化:
uv init
或者创建一个新项目:
uv init my-project
你的目录下会出现两个核心文件,完美对应前端习惯:
pyproject.tomlpackage.json(定义项目元数据和依赖)uv.lockpackage-lock.json(锁定依赖具体版本)
# 3. 安装依赖 (npm install xxx)
告别 pip install,现在我们用 add。
安装普通依赖:
uv add requests
# 甚至可以指定版本
uv add "flask>=2.0"
安装开发依赖 (DevDependencies):
uv add --dev pytest
# 4. 迁移旧项目 (requirements.txt)
如果你有一个老的 requirements.txt,不需要像以前那样用 PowerShell 转码了,uv 对编码支持很好,直接读取并添加到 pyproject.toml 中:
uv add -r requirements.txt
执行完这一步,你的旧项目就瞬间完成了“现代化”改造。
# 5. 一键同步环境 (npm install)
当你把代码 clone 下来,或者拉取了队友的代码后,只需要一个命令就能把所有依赖(包括 Python 解释器本身)全部装好:
uv sync
它会自动创建虚拟环境(默认在 .venv),你无需手动配置。
# 6. 运行代码 (npm run start)
不需要手动激活虚拟环境(source venv/bin/activate 已经是过去式了),直接用 uv run:
# 运行脚本
uv run app.py
# 运行模块
uv run python -m http.server
uv 会自动检测并使用项目环境中的 Python。
# 总结:前端 vs Python (uv版) 对照表
| 前端 (Node/NPM) | Python (uv) | 说明 |
|---|---|---|
package.json |
pyproject.toml |
项目配置文件 |
package-lock.json |
uv.lock |
版本锁定文件 |
npm init |
uv init |
初始化 |
npm install axios |
uv add requests |
安装依赖 |
npm install |
uv sync |
一键安装所有依赖 |
npm run start |
uv run app.py |
使用环境运行 |
nvm use 18 |
uv python pin 3.12 |
管理语言版本 |
