pipreqs 是什么?
在 Python 项目中,我们经常需要维护一个 requirements.txt 文件,以记录项目所依赖的第三方库。这个文件可以帮助我们在不同环境中重现相同的依赖关系,从而确保项目的可移植性和一致性。通常默认我们可以使用 pip 来生成 requirements.txt,但通过 pip 生成 requirements.txt 会存在一些问题。今天,我将向大家介绍一个方便的工具——pipreqs,它可以根据项目中的导入语句自动生成 requirements.txt 文件。下面将详细介绍如何使用 pipreqs 生成 Python 项目的 requirements.txt 文件。
同类型工具还有 pigar,相关阅读:
如何安装 pipreqs?
首先,我们需要安装 pipreqs
。打开终端并运行以下命令:
pip install pipreqs
如果你不需要支持 Jupyter Notebook,你可以安装一个不包含相关依赖的版本。运行以下命令:
pip install --no-deps pipreqs
pip install yarg==0.1.9 docopt==0.6.2
使用 pipreqs 生成 Python 项目的 requirements.txt 文件
pipreqs 的基本使用用法
你可以使用以下命令生成 requirements.txt
文件:
pipreqs [<path>]
其中 <path>
是包含应用程序文件的目录路径(默认为当前工作目录)。
pipreqs 的参数选项
--use-local
:仅使用本地包信息,而不查询 PyPI。--pypi-server <url>
:使用自定义的 PyPi 服务器。--proxy <url>
:使用代理,参数将传递给requests
库。--debug
:打印调试信息。--ignore <dirs>...
:忽略额外的目录,每个目录用逗号分隔。--no-follow-links
:不要跟随符号链接。--encoding <charset>
:使用指定的字符集进行文件打开。--savepath <file>
:将依赖列表保存到指定的文件中。--print
:在标准输出中输出依赖列表。--force
:覆盖现有的requirements.txt
文件。--diff <file>
:比较requirements.txt
中的模块与项目中的导入。--clean <file>
:清理requirements.txt
,删除未在项目中导入的模块。--mode <scheme>
:启用动态版本控制,支持<compat>
、<gt>
或<non-pin>
方案。--scan-notebooks
:查找 Jupyter Notebook 文件中的导入语句。
pipreqs 生成 requirements.txt 用法示例
假设我们的项目位于 /home/project/location
目录下,我们可以运行以下命令生成 requirements.txt
文件:
pipreqs /home/project/location
成功后,requirements.txt
文件将保存在指定的目录中。
为什么不使用 pip freeze
生成 requirements.txt 文件?
pip freeze
只会保存通过pip install
安装的包,而不会考虑你当前项目中是否使用了这些包。pip freeze
会保存整个环境中的所有包,包括你当前项目中未使用的包(如果你没有使用virtualenv
)。- 有时你只需要为新项目创建一个
requirements.txt
文件,而不需要安装这些模块。
希望这篇文章对你有所帮助!如果你有其他问题或想了解更多关于 Python 开发的知识,欢迎在评论区留言。
最后,祝您编码愉快!🐍