Python 项目管理工具速查手册
·
1. requirements.txt
- 创建我的项目: 在虚拟环境中安装完所有包后,运行
pip freeze > requirements.txt。 - 使用他人项目: 创建并激活虚拟环境后,运行
pip install -r requirements.txt。
2. environment.yaml (conda 环境)
- 创建我的项目: 在配置好的
conda环境中,运行conda env export > environment.yaml。 - 使用他人项目: 直接运行
conda env create -f environment.yaml来一步到位创建并安装所有依赖,然后激活虚拟环境就可以使用。
3. pip-tools
- 创建我的项目: 手动编写一个只含顶级依赖的
requirements.in,然后运行pip-compile生成requirements.txt。 - 使用他人项目: 运行
pip-sync(推荐) 或pip install -r requirements.txt来同步环境。
4. setup.py (传统打包)
- 创建我的项目: 手动编写
setup.py文件,定义包的名称、版本、依赖 (install_requires) 等。 - 使用他人项目: 运行
pip install -e .(开发模式) 或pip install .(用户模式) 来安装。
5. pyproject.toml (现代打包)
- 创建我的项目: 手动编写
pyproject.toml,在[project]表格中定义项目元数据和依赖。 - 使用他人项目: 与
setup.py完全相同,运行pip install -e .或pip install .。
6. conda-build (Conda 打包)
- 创建我的项目: 手动编写
meta.yaml配方文件,定义完整的打包规则和跨语言依赖。 - 使用他人项目: 从本地文件安装 (
conda install <包路径>) 或从 Anaconda 渠道安装 (conda install -c <渠道名> <包名>)。
对比总结
| 工具 | 核心用途 (一句话总结) |
|---|---|
requirements.txt |
为 pip 环境提供一份精确的“包列表”。 |
environment.yaml |
为 conda 环境提供一份包含所有依赖(含非Python库)的“完整快照”。 |
pip-tools |
更专业地管理 pip 依赖,将“我想要的”和“实际安装的”分开。 |
setup.py |
(传统方式) 将你的代码打包成一个可被 pip 安装和分发的 Python 库。 |
pyproject.toml |
(现代标准) 统一管理项目配置、依赖和打包规则的唯一入口。 |
conda-build |
构建跨平台、跨语言的重量级软件包,解决复杂的二进制依赖问题。 |
更多推荐



所有评论(0)