一、生成当前 python 环境 安装的所有依赖包
1、命令
# cd 到项目路径下,执行以下命令
pip freeze > requirements.txt
# 或者使用如下命令
pip list --format=freeze > requirements.txt
2、常见问题
1、中使用 pip freeze > requirements.txt 命令导出已安装的模块,其中部分模块显示了 @ file:///…,而不是具体的版本号,如下图:

此时,如果我们直接在其他机器上边使用 pip install -r requirements.txt 安装模块时,就会遇到如下错误:
ERROR: Could not install packages due to an EnvironmentError: [Errno 2] No such
file or directory: ‘C:\ci\cffi_1600699250966\work’
原因
这是 pip 安装软件包的一种特殊语法(自19.1开始受支持)PEP404,但是该此种路径取决于环境,file:///URL 仅在本地文件系统上可用,你不能将生成的 requirements.txt 文件提供给其他人使用
解决
使用上述命令导出的文件中,会包含如下几个包:distribute,pip,setuptools,wheel。。。,建议手动删除!
二、只生成当前 项目 的所有依赖包
1、步骤
2.1.1 安装 pipreqs
pip install pipreqs
2.1.2 执行命令,在当前工程目录生成
# cd 到项目路径下,执行以下命令
# 如果已经存在requirements.txt,需要加上 --force 覆盖之
# 如果提示“UnicodeDecodeError: 'gbk' codec can't decode ”的错误,需要指定字符集 --encoding=utf8
# 如果有想要忽略的目录,可以使用 --ignore <dirs> ...忽略额外的目录
pipreqs ./ --encoding=utf8 --force
三、使用 requirements.txt 安装依赖的方式
pip install -r requirements.txt

本文介绍了如何生成Python环境中所有安装的依赖包,并解决因文件路径导致的安装问题。此外,还提供了只导出当前项目依赖包的方法,以及使用requirements.txt文件安装依赖的正确方式。在遇到依赖包显示为file:///…格式时,需要手动删除相关条目,以避免在其他环境安装失败。同时,文章提到了pipreqs工具用于生成项目专属的依赖列表。
3249

被折叠的 条评论
为什么被折叠?



