安装 Python
访问 Python 官网 下载并安装适合你操作系统的 Python 版本,安装时注意勾选 Add Python to PATH(Windows 用户),以便在命令行中直接使用 Python。
Python 包管理工具
pip 使用
pip 是 Python 默认的包管理工具,常用命令如下:
pip install package_name # 安装包
pip uninstall package_name # 卸载包
pip list # 查看已安装的包
pip freeze > requirements.txt # 导出依赖
pip install -r requirements.txt # 安装依赖
uv 使用(推荐)
uv 是一个用 Rust 编写的高性能 Python 包管理工具,比 pip 快 10-100 倍,且兼容现有工作流。
安装方法:
- 使用 pip 安装(推荐):
pip install uv
- 直接下载安装脚本:
curl -LsSf https://astral.sh/uv/install.sh | sh
使用uv --help查看帮助说明如下:
uv --help
An extremely fast Python package manager.
Usage: uv [OPTIONS] <COMMAND>
Commands:
run Run a command or script
init Create a new project
add Add dependencies to the project
remove Remove dependencies from the project
sync Update the project's environment
lock Update the project's lockfile
export Export the project's lockfile to an alternate format
tree Display the project's dependency tree
tool Run and install commands provided by Python packages
python Manage Python versions and installations
pip Manage Python packages with a pip-compatible interface
venv Create a virtual environment
build Build Python packages into source distributions and wheels
publish Upload distributions to an index
cache Manage uv's cache
self Manage the uv executable
version Display uv's version
help Display documentation for a command
Cache options:
-n, --no-cache Avoid reading from or writing to the cache, instead
using a temporary directory for the duration of the
operation [env: UV_NO_CACHE=]
--cache-dir <CACHE_DIR> Path to the cache directory [env: UV_CACHE_DIR=]
Python options:
--python-preference <PYTHON_PREFERENCE>
Whether to prefer uv-managed or system Python installations [env:
UV_PYTHON_PREFERENCE=] [possible values: only-managed, managed, system,
only-system]
--no-python-downloads
Disable automatic downloads of Python. [env:
"UV_PYTHON_DOWNLOADS=never"]
Global options:
-q, --quiet
Do not print any output
-v, --verbose...
Use verbose output
--color <COLOR_CHOICE>
Control the use of color in output [possible values: auto, always,
never]
--native-tls
Whether to load TLS certificates from the platform's native certificate
store [env: UV_NATIVE_TLS=]
--offline
Disable network access [env: UV_OFFLINE=]
--allow-insecure-host <ALLOW_INSECURE_HOST>
Allow insecure connections to a host [env: UV_INSECURE_HOST=]
--no-progress
Hide all progress outputs [env: UV_NO_PROGRESS=]
--directory <DIRECTORY>
Change to the given directory prior to running the command
--project <PROJECT>
Run the command within the given project directory
--config-file <CONFIG_FILE>
The path to a `uv.toml` file to use for configuration [env:
UV_CONFIG_FILE=]
--no-config
Avoid discovering configuration files (`pyproject.toml`, `uv.toml`)
[env: UV_NO_CONFIG=]
-h, --help
Display the concise help for this command
-V, --version
Display the uv version
Use `uv help` for more details.
以下是 uv 工具各个命令的中文解释,按功能分类整理:
核心命令
| 命令 | 作用 | 常用场景 |
|---|---|---|
uv run | 直接运行 Python 脚本或命令 | 替代 python script.py,支持环境自动激活 |
uv init | 创建新 Python 项目 | 初始化项目结构(类似 poetry init) |
uv add | 添加依赖到项目 | 修改 pyproject.toml 并安装依赖(如 uv add requests) |
uv remove | 移除项目依赖 | 从配置文件和环境中删除依赖 |
uv sync | 同步环境依赖 | 根据配置文件更新虚拟环境(类似 pip install -r requirements.txt) |
uv lock | 生成锁文件(uv.lock) | 锁定依赖版本以确保环境一致性(类似 pip freeze) |
uv export | 导出锁文件为其他格式 | 生成 requirements.txt 供传统工具使用 |
依赖管理
| 命令 | 作用 | 特点 |
|---|---|---|
uv tree | 显示依赖树 | 可视化查看依赖层级关系(类似 pipdeptree) |
uv pip | 兼容 pip 的包管理接口 | 所有 pip 命令加速版(如 uv pip install 速度提升 10x) |
环境管理
| 命令 | 作用 | 优势 |
|---|---|---|
uv venv | 创建虚拟环境 | 比 python -m venv 快 10 倍(默认创建 .venv 目录) |
uv python | 管理 Python 版本 | 安装/切换不同 Python 版本(需开启 --python-downloads) |
开发者工具
| 命令 | 作用 | 示例 |
|---|---|---|
uv tool | 运行包提供的工具 | 直接调用 black/flake8 等(如 uv tool run black .) |
uv build | 构建 Python 包 | 生成 wheel 或 sdist 分发文件 |
uv publish | 发布包到 PyPI | 类似 twine upload |
系统管理
| 命令 | 作用 | 说明 |
|---|---|---|
uv cache | 管理缓存 | 清理/查看缓存目录(默认在 ~/.cache/uv) |
uv self | 管理 uv 自身 | 检查更新或卸载 |
辅助命令
| 命令 | 作用 |
|---|---|
uv version | 显示当前 uv 版本 |
uv help | 查看详细帮助文档 |
常用选项
| 选项 | 作用 |
|---|---|
--no-cache | 禁用缓存(临时目录替代) |
--offline | 离线模式(仅使用本地缓存) |
--python-preference | 优先使用系统或 uv 管理的 Python |
--no-python-downloads | 禁止自动下载 Python |
常用命令:
uv pip install package_name # 安装包
uv pip uninstall package_name # 卸载包
uv pip freeze # 查看已安装包列表
uv venv .venv # 创建虚拟环境
使用场景建议
- 新项目初始化:
uv init && uv add fastapi && uv sync
- 快速安装依赖(利用镜像源):
UV_INDEX_URL=https://mirrors.aliyun.com/pypi/simple/ uv pip install numpy
- 环境迁移:
uv lock && uv export -o requirements.txt
uv 通过 Rust 底层优化,在依赖解析和下载速度上显著优于传统工具,特别适合大型项目或 CI/CD 环境。
常用命令对照表
以下是 uv 和 pip 常用命令的对比表格,帮助快速迁移工作流:
| 功能描述 | pip 命令 | uv 对应命令(或推荐用法) | 差异说明 |
|---|---|---|---|
| 安装包 | pip install <package> | uv pip install <package>或 uv add <package> | uv 速度更快(10-100x 加速)uv add 会更新 pyproject.toml |
| 批量安装依赖 | pip install -r requirements.txt | uv pip install -r requirements.txt | uv 依赖解析更快 |
| 卸载包 | pip uninstall <package> | uv pip uninstall <package>或 uv remove <package> | uv 速度更快(10-100x 加速)uv remove 会更新 pyproject.toml |
| 列出已安装包 | pip list | uv pip list | 输出格式一致 |
| 导出依赖 | pip freeze > requirements.txt | uv lock && uv export -o requirements.txt | uv 通过锁文件导出更精确 |
| 创建虚拟环境 | python -m venv .venv | uv venv .venvuv venv .venv --python 3.11 | uv 快 10 倍,默认目录 .venv。使用 --python指定创建虚拟环境的python版本 |
| 激活虚拟环境 | source .venv/bin/activate | 同左(激活方式不变) | uv 不改变激活逻辑 |
| 运行脚本 | python script.py | uv run python script.py | uv 自动激活环境,无需手动操作 |
| 依赖树查看 | pipdeptree(需安装第三方包) | uv tree | 原生支持依赖树 |
uv 独有功能
| 命令 | 作用 | 示例 |
|---|---|---|
uv sync | 同步虚拟环境与配置文件依赖 | uv sync |
uv lock | 生成锁文件 uv.lock | uv lock |
uv python install | 管理多版本 Python | uv python install 3.11 |
uv tool run | 直接运行包内工具(如 black) | uv tool run black . |
uv cache clean | 清理缓存 | uv cache clean |
性能对比场景
| 场景 | pip 耗时 | uv 耗时 | 优势说明 |
|---|---|---|---|
| 安装 NumPy + Pandas | ~15s | ~3s | 依赖解析和下载优化 |
| 创建虚拟环境 | ~2s | 0.2s | 基于 Rust 的快速实现 |
| 同步大型依赖(50+包) | ~30s | ~5s | 并行下载和缓存复用 |
通过对比可以看出,uv 在性能和现代项目支持上优势显著,而 pip 更适合传统项目或兼容性要求高的场景。
设置国内源
国内主流镜像源推荐
| 镜像源 | 地址 | 特点 |
|---|---|---|
| 清华大学 | pypi.tuna.tsinghua.edu.cn/simple | 同步频率高 |
| 阿里云 | mirrors.aliyun.com/pypi/simple | CDN加速 |
| 豆瓣源 | pypi.doubanio.com/simple | 支持HTTP协议 |
| 腾讯云 | mirrors.cloud.tencent.com/pypi | 企业级稳定性 |
| 中科大 | pypi.mirrors.ustc.edu.cn/simple | 稳定 |
pip 永久设置国内源
pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/
验证配置:
pip config list # 查看是否生效
uv 设置国内源
uv 支持通过环境变量或命令行参数指定镜像源:
- 永久设置环境变量(添加到 shell 配置文件如
~/.bashrc或~/.zshrc):
echo 'export UV_INDEX_URL=https://pypi.tuna.tsinghua.edu.cn/simple/' >> ~/.bashrc
source ~/.bashrc
- 临时指定镜像源:
UV_INDEX_URL=https://pypi.tuna.tsinghua.edu.cn/simple/ uv pip install requests
- 单次安装时指定:
uv pip install requests -i https://mirrors.aliyun.com/pypi/simple/
验证配置:
echo $UV_INDEX_URL # 查看环境变量
uv pip install requests # 观察下载源
创建虚拟环境
使用 pip 创建虚拟环境
python -m venv .venv # 创建虚拟环境
source .venv/bin/activate # 激活(Linux/macOS)
.venv\Scripts\activate # 激活(Windows)
deactivate # 退出虚拟环境
使用 uv 创建虚拟环境
uv venv .venv # 创建虚拟环境(自动使用配置的镜像源)
uv venv .venv --python 3.11 # 使用 --python指定创建虚拟环境的python版本
source .venv/bin/activate # 激活(Linux/macOS)
.venv\Scripts\activate # 激活(Windows)
安装 Python 包
使用 pip 安装 Python 包
pip install requests # 安装最新版本
pip install requests==2.25.1 # 安装指定版本
使用 uv 安装 Python 包
在激活的虚拟环境中:
uv pip install requests # 安装包(自动使用 UV_INDEX_URL 镜像源)
uv pip install -r requirements.txt # 批量安装依赖
参考文档