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.toml \approx package.json (定义项目元数据和依赖)
  • uv.lock \approx package-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 管理语言版本