导出pip安装的所有包
pip freeze > requirements.txt
结果示例:
导出了所有的包,不够简洁,如果我只需要导出我项目中使用的包的顶层依赖呢?
使用pipreqs导出
要获得最精简的 requirements.txt 版本,只包含新安装的库(如 openai),而不包含附带下载的依赖,可以使用 pipreqs 工具。pipreqs 会扫描项目文件,识别实际使用的依赖项,生成一个最小的 requirements.txt 文件。
首先,安装 pipreqs:
pip install pipreqs
然后,在项目目录下运行以下命令:
pipreqs --force .
这会在当前目录下生成一个 requirements.txt 文件,只包含项目实际使用的顶层依赖项。–force 选项会覆盖已有的 requirements.txt 文件。
例如,如果项目只使用了 openai 库,生成的 requirements.txt 文件可能类似于:
openai==1.16.2
请注意,pipreqs 通过静态分析代码来识别依赖项,因此可能并不总是 100% 准确。例如,如果在代码中导入了一个库但实际上没有使用它,pipreqs 仍然会将其包含在 requirements.txt 中。
总之,使用 pipreqs 工具或手动创建 requirements.txt 文件,可以获得一个最精简的依赖项列表,只包含项目实际使用的顶层库,而不包含附带下载的间接依赖项。
结果展示
手动创建
另一种方法是手动创建 requirements.txt 文件,只包含实际使用的顶层依赖项。例如:
openai==1.16.2
这需要手动跟踪项目使用的库,但可以确保 requirements.txt 文件尽可能精简。