在 Python 中,有几种常用的方法来导出项目所需的依赖库。以下是主要的几种方法:
这是最常用的方法,可以生成当前环境中所有已安装的包及其版本:
pip freeze > requirements.txt
这会将所有已安装的包(包括版本号)写入 requirements.txt
文件。
如果你只想导出项目实际使用的依赖(而不是环境中所有安装的包),可以使用 pipreqs
:
# 首先安装 pipreqs
pip install pipreqs
# 然后在项目目录下运行
pipreqs /path/to/project --encoding=utf8 --force
这会分析项目中的 import 语句,生成只包含项目实际使用包的 requirements.txt
文件。
如果你使用 pip-tools
进行依赖管理:
# 首先安装 pip-tools
pip install pip-tools
# 创建 requirements.in 文件(手动列出主依赖)
# 然后编译生成精确的 requirements.txt
pip-compile requirements.in
如果你使用 Poetry 管理项目:
# 导出为 requirements.txt 格式
poetry export -f requirements.txt --output requirements.txt
如果你使用 Conda 环境:
# 导出环境
conda env export > environment.yml
# 或者只列出 pip 安装的包
conda env export --no-builds | grep -v "^prefix: " > environment.yml
pipreqs
:因为它只导出项目实际使用的依赖,而不是环境中所有安装的包requirements-dev.txt
用于开发依赖生成的 requirements.txt
文件可以用于在其他环境中安装相同的依赖:
pip install -r requirements.txt