python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > Python 依赖管理

Python 依赖管理的工具与规范详解

作者:江洋大盗

这篇文章主要介绍了Python 依赖管理的工具与规范详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧

🛠️ Python 项目依赖管理全流程指南

1. 环境准备

1.1 安装 Python

python3 --version
pip3 --version

1.2 安装依赖管理工具

工具安装命令说明
pip默认安装标准包管理工具
pipenvpip install pipenv虚拟环境 + 依赖锁定
poetry`curl -sSL https://install.python-poetry.orgpython3 -`
uvpip install uv高性能依赖管理工具

2. 项目初始化与依赖管理

2.1 创建项目结构

my_project/
├── my_project/
│   ├── __init__.py
│   └── main.py
├── tests/
│   └── test_main.py
├── requirements.txt      # 传统方式
├── Pipfile                 # pipenv
├── pyproject.toml          # poetry/uv
└── README.md

2.2 选择依赖管理工具

根据团队需求选择工具:

工具适用场景
pip + requirements.txt小型项目、快速部署
pipenv中小型项目、开发协作
poetry现代项目、打包发布
uv高性能需求、大规模项目

3. 依赖管理流程

3.1 使用 pip + requirements.txt(传统方式)

✅ 初始化依赖

pip freeze > requirements.txt

示例内容:

numpy==1.26.0
pandas==2.0.3
requests==2.31.0
pip install -r requirements.txt
# 导出依赖包
pip download -r requirements.txt -d ./dependencies
# 离线安装
pip install --no-index --find-links=./dependencies -r requirements.txt

❗ 问题

3.2 使用 pipenv(推荐)

✅ 初始化依赖

创建虚拟环境并安装依赖

pipenv install
pipenv install numpy pandas
pipenv install --dev pytest  # 开发依赖
pipenv install

pipenv shell

✅ 生成 requirements.txt

pipenv lock -r > requirements.txt

❗ 问题

3.3 使用 poetry(现代标准)

✅ 初始化依赖

poetry new my_project
cd my_project
poetry add numpy pandas
poetry add --dev pytest  # 开发依赖
poetry install
poetry export -f requirements.txt --output requirements.txt

✅ 虚拟环境管理

poetry env info

✅ 打包发布

[tool.poetry]
name = "my_project"
version = "0.1.0"
description = "A sample project"
authors = ["Your Name <you@example.com>"]
poetry publish --build

3.4 使用 uv(高性能工具)

✅ 初始化依赖

uv venv
source venv/bin/activate  # Unix
venv\Scripts\activate     # Windows
uv add numpy pandas
uv add --dev pytest  # 开发依赖
uv sync
uv pip freeze > requirements.txt

4. 团队协作与部署

4.1 提交依赖文件

4.2 CI/CD 集成

jobs:
  build:
    steps:
      - uses: actions/checkout@v3
      - name: Set up Python
        uses: actions/setup-python@v4
        with:
          python-version: "3.10"
      - name: Install dependencies
        run: |
          python -m pip install --upgrade pip
          pip install -r requirements.txt

4.3 Docker 镜像构建

FROM python:3.10-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY . .
CMD ["python", "main.py"]

5. 常见问题与解决方案

5.1 依赖冲突

numpy==1.26.0
pandas==2.0.3

5.2 依赖版本不一致

5.3 虚拟环境问题

rm -rf venv/  # 或 poetry env remove
poetry install

6. 最佳实践

7. 附录:命令速查表

任务pippipenvpoetryuv
安装依赖pip install -r requirements.txtpipenv installpoetry installuv sync
添加依赖pip install packagepipenv install packagepoetry add packageuv add package
生成锁文件pipenv lockpoetry lockuv pip freeze > requirements.txt
虚拟环境手动创建pipenv shellpoetry env useuv venv
导出依赖pip freeze > requirements.txtpipenv lock -r > requirements.txtpoetry export -f requirements.txtuv pip freeze > requirements.txt

通过以上流程,你的 Python 项目可以实现与 Java、Go 类似的依赖管理能力,确保开发、测试和生产环境的一致性。

到此这篇关于Python 依赖管理的工具与规范的文章就介绍到这了,更多相关Python 依赖管理内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文