整理了python导出requirements.txt的几种方法和流程
- Conda
- pip
- pipreqs
最近又碰到整理requirements.txt的问题,有好几种命令可以做到这一点,但是之前整理的时候会输出一堆乱七八糟的包,这次挨个试了所有方法,特此记录。我的平台是autodl(Linux)。
Conda
使用Conda导出requirements.txt:
conda list -e > requirements.txt
这种方法导出的文件是这样的:
包的后面会有pypi 0,不知道原因,只能手动删除。使用Conda导入requirements.txt:
conda install --yes --file requirements.txt
pip
使用pip导出requirements.txt文件有两种方法,第一种会带有路径:
pip freeze > requirements.txt
可以使用这一命令输出不带路径的版本:
pip list --format=freeze >requirement.txt
如果要输出所有环境的包,这种方法应该是最好的:
pipreqs
但是很多时候,我们的环境中可能有很多该项目不需要的库,一个个删除就会很麻烦,可以使用pipreqs解决。pipreqs会对当前项目进行扫描,只输出当前项目的依赖:
pip install pipreqs
pipreqs . --encoding=utf8 --force
一下子就变得清爽起来了,大部分的包都是不需要的: