"/>
侧边栏壁纸
博主头像
PySuper 博主等级

千里之行,始于足下

  • 累计撰写 272 篇文章
  • 累计创建 17 个标签
  • 累计收到 2 条评论

目 录CONTENT

文章目录

Python 包管理工具

PySuper
2025-05-10 / 0 评论 / 0 点赞 / 10 阅读 / 0 字
温馨提示:
所有牛逼的人都有一段苦逼的岁月。 但是你只要像SB一样去坚持,终将牛逼!!! ✊✊✊

🚀 对比

工具

特点

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> --upgradepip 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 通常与 venvvirtualenv 配合使用:

# 创建虚拟环境(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. 常见问题解决

  • pip 速度慢:换国内镜像源(如清华、阿里云)。

  • 权限错误:加 --user 或使用虚拟环境。

  • 版本冲突:用 pip check 检查,或重建虚拟环境。


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:如果只需要快速安装包,不涉及复杂依赖管理。

  • 经典 pip:兼容性最好,但功能较少。

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

升级 uvpip 自身


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"

典型工作流示例

  1. 创建并激活虚拟环境

uv venv .venv
source .venv/bin/activate  # Mac/Linux
  1. 快速安装包(使用镜像源)

uv pip install numpy pandas -i https://mirrors.aliyun.com/pypi/simple/
  1. 导出依赖

uv pip freeze > requirements.txt

pip 对比的优势

  • 速度更快:依赖解析和下载优化。

  • 更好的依赖冲突处理:基于 pubgrub 算法。

  • 一体化工具:集成虚拟环境管理。

建议在 Python 3.12+ 和现代系统上使用 uv 替代传统 pip 🚀。

0
  1. 支付宝打赏

    qrcode alipay
  2. 微信打赏

    qrcode weixin

评论区