1. pip freeze
使用pip freeze得到的依赖包含了当前Python环境中的所有package,其中很多并没有被当前项目所使用。
2. pipreqs
pip install pipreqs
pipreqs [options] <path> --encoding=utf8
常用参数:
--use-local:仅使用本地包信息而不是查询PyPI
--pypi-server <url>:使用自定义PyPi服务器
--debug:打印调试信息
--ignore <dirs> :忽略额外的目录
--encoding <charset>:使用编码参数打开文件
--savepath <file>:保存给定文件中的需求列表
--print:输出标准输出中的需求列表
--force:覆盖现有的requirements.txt
--diff <file>:将requirements.txt中的模块与项目导入进行比较。
--clean <file>:通过删除未在项目中导入的模块来清理requirements.txt。
但是,pipreqs得到的依赖有可能是不全的,需要人为检查。
3. pipenv
pipenv通过pipfile与pipfile.lock管理依赖。用法类似于pip和virtualenv。
导出环境中所有package:
pipenv lock -r
导出环境中所有package:
pipenv lock -r --dev
4. poetry
poetry是一个功能强大的Python虚拟环境管理工具,通过一个.toml
文件对项目环境进行管理。
列出依赖:
poetry show
以树结构列出依赖之间的层次关系:
poetry show --tree
网友评论