目录
- 前言
- 1. pipreqs
- 2. pip freeze
- 3. poetry
- 4. conda
- 5. 总结
前言
在Python项目开发中,管理依赖包是确保项目正常运行的关键步骤
本博客将详细分析几种流行的依赖管理工具,包括 pipreqs、pip freeze、poetry 和 conda,以及它们的使用场景和命令方式
1. pipreqs
扫描项目中的Python文件,识别所有导入的包,并生成一个包含这些包及其版本号的依赖列表
安装pipreqs并在该项目中执行,. 代表当前目录,可以替换为其他路径
pip install pipreqs
pipreqs .
常用参数包括 --force(覆盖文件)、–ignore (忽略指定目录)、–print(打印内容)
大致如下:
2. pip freeze
当前虚拟环境中的所有已安装包及其版本,生成的格式与 requirements.txt 文件兼容
基本的命令如下:
pip freeze > requirements.txt
如果生成的为路径而不是版本号,再次执行
pip list --format=freeze > requirements.txt
3. poetry
这个工具我个人比较少用,但这个还是比较好用的
poetry 是一个集成的工具,用于管理Python项目的依赖、打包和发布,采用 pyproject.toml 文件来替代传统的 requirements.txt 和 setup.py 文件
基本的命令如下:
pip install poetry
poetry new my-project
poetry add requests
poetry export -f requirements.txt --output requirements.txt
4. conda
跨平台的包管理和环境管理工具,常与 Anaconda 或 Miniconda 一起使用,适用于科学计算和需要特定环境的项目
conda env export > environment.yml
conda env create -f environment.yml
5. 总结
pipreqs
导出当前项目的环境pip freeze
记录当前虚拟环境中的所有依赖,适合生成当前环境的完整依赖列表poetry
提供了现代化的依赖管理,适用于新项目的依赖管理和打包conda
用于跨平台的环境管理,适合科学计算和需要特定环境的项目