🚀 对比
工具 | 特点 |
pip
| Python 官方工具,基础但稳定 |
uv
| 极速安装(Rust 编写),兼容 pip 命令 |
poetry
| 依赖管理 + 虚拟环境 + 打包发布一体化 |
推荐场景:
简单项目:pip
+ venv
。
高性能需求:uv
。
pip
更新所有 Python 包
pip install --upgrade pip
pip install pip-review
pip-review --auto
pip
是 Python 官方推荐的包管理工具,用于安装和管理第三方库。以下是 pip 常用命令,适用于日常开发和生产环境。
1. 安装与升级
命令 | 说明 |
pip install <package>
| 安装最新版本的包(如 pip install numpy ) |
pip install <package>==1.2.3
| 安装指定版本的包 |
pip install <package> --upgrade 或 pip install -U <package>
| 升级包到最新版本 |
pip install --upgrade pip
| 升级 pip 自身 |
pip install -r requirements.txt
| 从 requirements.txt 安装所有依赖 |
2. 依赖管理
命令 | 说明 |
pip list
| 查看已安装的包 |
pip show <package>
| 查看包的详细信息(版本、路径等) |
pip freeze > requirements.txt
| 导出当前环境的依赖到 requirements.txt |
pip uninstall <package>
| 卸载包 |
pip check
| 检查依赖冲突 |
3. 镜像源加速(国内用户推荐)
命令 | 说明 |
pip install <package> -i https://pypi.tuna.tsinghua.edu.cn/simple
| 使用清华源 |
pip install <package> -i https://mirrors.aliyun.com/pypi/simple/
| 使用阿里云源 |
pip install <package> -i https://pypi.doubanio.com/simple/
| 使用豆瓣源 |
永久修改镜像源
# 创建或修改 pip 配置文件(Linux/macOS)
mkdir -p ~/.pip
echo "[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
trusted-host = pypi.tuna.tsinghua.edu.cn" > ~/.pip/pip.conf
# Windows 用户:在 `%APPDATA%\pip\pip.ini` 添加相同内容
4. 缓存与离线安装
命令 | 说明 |
pip install --no-cache-dir <package>
| 禁用缓存安装(适用于 Docker) |
pip download <package>
| 下载包但不安装(保存为 .whl 文件) |
pip install --no-index --find-links=/path/to/dir <package>
| 从本地目录离线安装 |
5. 虚拟环境管理
pip
通常与 venv
或 virtualenv
配合使用:
# 创建虚拟环境(Python 3.3+ 内置)
python -m venv .venv
# 激活虚拟环境(Linux/macOS)
source .venv/bin/activate
# 激活虚拟环境(Windows)
.\.venv\Scripts\activate
# 在虚拟环境中使用 pip
pip install <package>
6. 开发模式安装
命令 | 说明 |
pip install -e .
| 以可编辑模式安装当前目录的包(适合本地开发) |
7. 高级用法
命令 | 说明 |
pip install --user <package>
| 仅当前用户安装(避免系统污染) |
pip install --ignore-installed <package>
| 强制覆盖已安装的包 |
pip install --pre <package>
| 安装预发布版本(alpha/beta) |
8. 典型工作流示例
① 安装依赖并导出
# 安装包
pip install flask pandas
# 导出依赖
pip freeze > requirements.txt
② 从 requirements.txt
安装
pip install -r requirements.txt
③ 使用虚拟环境
python -m venv .venv
source .venv/bin/activate # 激活
pip install -r requirements.txt
deactivate # 退出虚拟环境
9. 常见问题解决
poetry
poetry init:交互式设置项目,创建 pyproject.toml。
poetry install:根据 pyproject.toml 和 poetry.lock 安装依赖。
poetry add 包名:在 pyproject.toml 中添加依赖并安装。
poetry remove 包名:删除依赖并更新 pyproject.toml。
poetry update:升级所有依赖到符合版本约束的最新版本,并更新锁文件。
poetry shell:激活项目的虚拟环境。
poetry run 命令:在项目的虚拟环境中运行指定命令。
poetry lock:生成或更新 poetry.lock 文件,记录精确的依赖版本。
Poetry
是一个现代化的 Python 依赖管理和打包工具,支持 依赖解析、虚拟环境管理、项目打包发布 等功能。以下是 Poetry 常用命令,适合日常开发使用。
1. 安装与初始化
命令 | 说明 |
pip install poetry
| 安装 Poetry |
poetry --version
| 查看 Poetry 版本 |
poetry new <project-name>
| 创建新项目(生成标准目录结构) |
poetry init
| 在当前目录初始化 Poetry 项目(交互式) |
2. 依赖管理
命令 | 说明 |
poetry add <package>
| 安装包并写入 pyproject.toml (如 poetry add numpy ) |
poetry add <package> --group dev
| 安装开发依赖(如 pytest ) |
poetry remove <package>
| 移除包 |
poetry install
| 安装 pyproject.toml 中的所有依赖 |
poetry install --no-dev
| 仅安装生产依赖(跳过 dev 依赖) |
poetry update
| 更新所有依赖到最新兼容版本 |
poetry update <package>
| 更新指定包 |
poetry show
| 查看已安装的包 |
poetry show --tree
| 查看依赖树 |
poetry show --outdated
| 查看可更新的包 |
3. 虚拟环境管理
命令 | 说明 |
poetry env list
| 列出所有虚拟环境 |
poetry env use <python-path>
| 指定 Python 版本(如 poetry env use python3.11 ) |
poetry env info
| 查看当前虚拟环境信息 |
poetry shell
| 进入虚拟环境的 Shell |
poetry run <command>
| 在虚拟环境中运行命令(如 poetry run python app.py ) |
poetry env remove <python-version>
| 删除虚拟环境 |
4. 项目打包与发布
命令 | 说明 |
poetry build
| 构建包(生成 dist/ 目录) |
poetry publish
| 发布包到 PyPI(需先配置 pypi-token ) |
poetry publish --repository <private-repo>
| 发布到私有仓库 |
poetry config pypi-token.pypi <your-token>
| 设置 PyPI Token |
5. 配置管理
命令 | 说明 |
poetry config --list
| 查看 Poetry 配置 |
poetry config virtualenvs.in-project true
| 在项目目录创建 .venv |
poetry config virtualenvs.path /path/to/venvs
| 自定义虚拟环境存放路径 |
poetry config http-basic.<repo> <username> <password>
| 设置私有仓库认证 |
6. 常用工作流示例
① 创建新项目
poetry new my-project
cd my-project
poetry add numpy pandas # 安装生产依赖
poetry add pytest --group dev # 安装开发依赖
② 运行项目
poetry install # 安装所有依赖
poetry shell # 进入虚拟环境
python script.py
# 或直接运行
poetry run python script.py
③ 打包并发布
poetry build
poetry publish # 需先配置 PyPI Token
7. 与 pip
/ uv
的区别
功能 | Poetry | pip/uv |
依赖管理 | 支持 pyproject.toml ,自动解析依赖 | 依赖 requirements.txt |
虚拟环境 | 内置管理,支持 poetry shell | 需手动 python -m venv |
打包发布 | 内置 poetry build / publish | 需 setuptools + twine |
速度 | 依赖解析较慢 | uv 极快
|
总结
Poetry 特别适合 团队协作 和 库/应用开发,而 uv
更适合 快速安装 和 CI/CD 环境。🚀
uv
uv
是 Rust 编写的高性能 Python 包管理工具,比传统 pip
更快,支持依赖解析、虚拟环境管理等。以下是 uv 常用命令,适用于日常 Python 开发:
1. 安装与升级
命令 | 说明 |
uv pip install <package>
| 安装指定包(如 uv pip install numpy ) |
uv pip install -r requirements.txt
| 从文件安装依赖 |
uv pip install --upgrade <package>
| 升级包 |
uv pip install --upgrade uv pip
| 升级 uv 和 pip 自身 |
2. 依赖管理
命令 | 说明 |
uv pip list
| 查看已安装的包 |
uv pip show <package>
| 查看包详细信息 |
uv pip freeze > requirements.txt
| 导出依赖到文件 |
uv pip uninstall <package>
| 卸载包 |
3. 虚拟环境管理
命令 | 说明 |
uv venv .venv
| 创建虚拟环境(默认 .venv ) |
uv venv --python=3.11 .venv
| 指定 Python 版本创建 |
source .venv/bin/activate (Mac/Linux)
| 激活虚拟环境 |
.\.venv\Scripts\activate (Windows)
| Windows 激活 |
4. 加速安装(镜像源与缓存)
命令 | 说明 |
uv pip install -i https://pypi.tuna.tsinghua.edu.cn/simple <package>
| 使用国内镜像源 |
uv pip install --no-cache-dir <package>
| 禁用缓存(调试用) |
uv pip install --cache-dir ~/.cache/uv <package>
| 指定缓存目录 |
5. 高级功能
命令 | 说明 |
uv pip install --no-deps <package>
| 仅安装包(跳过依赖) |
uv pip check
| 检查依赖冲突 |
uv pip download <package>
| 下载包但不安装 |
6. 配置文件
uv
支持 ~/.uv/config.toml
全局配置(如镜像源):
[install]
index-url = "https://pypi.tuna.tsinghua.edu.cn/simple"
典型工作流示例
创建并激活虚拟环境:
uv venv .venv
source .venv/bin/activate # Mac/Linux
快速安装包(使用镜像源):
uv pip install numpy pandas -i https://mirrors.aliyun.com/pypi/simple/
导出依赖:
uv pip freeze > requirements.txt
与 pip
对比的优势
速度更快:依赖解析和下载优化。
更好的依赖冲突处理:基于 pubgrub
算法。
一体化工具:集成虚拟环境管理。
建议在 Python 3.12+ 和现代系统上使用 uv
替代传统 pip
🚀。
评论区