Pau*_*ipp 5 python pip requirements.txt
举例来说,我将 django 添加到我的 venv 中pip install django
。生成我的requirements.txt文件的通常方法是pip freeze > requirements.txt
产生:
asgiref==3.2.3
Django==3.0.2
pytz==2019.3
sqlparse==0.3.0
Run Code Online (Sandbox Code Playgroud)
这是个谎言。我唯一的要求是 django,我想要的(完全有效的)requirements.txt 是:
Django>=3.0.2, <4
Run Code Online (Sandbox Code Playgroud)
有时这很重要。对于真正的应用程序,我最终会得到许多具有重叠依赖项的包。升级时这可能会或可能不会导致问题,但如果我固定了所有我不关心的依赖包,几乎总是会出现问题(在上面的示例中,它们取决于 django 开发人员,而不是我)。
为了优化依赖项臃肿的requirements.txt 文件,我可以手动检查源代码(导致上面的requirements.txt 为空;)),但对于任何实际应用程序来说,这很快就会变得不切实际。
一旦支持 Python 3.7 及更高版本, http://stackoverflow.com/a/31684470/9609843建议的 pipreqs将是一个很好的解决方案。
在此之前,pipdeptree 可以很好地满足大多数用途:
pipdeptree -l | grep -i '^[[:alnum:]]' > requirements.txt
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2355 次 |
最近记录: |