我应该同时指定开发要求还是仅安装要求?

前端之家收集整理的这篇文章主要介绍了我应该同时指定开发要求还是仅安装要求? 前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我想我应该只固定安装要求,例如我在这里所做的:

固定:
https://github.com/Laurentiu-Andronache/nano-python/blob/master/requirements.pip

未固定,因为它们是开发人员要求:
https://github.com/Laurentiu-Andronache/nano-python/blob/master/requirements-dev.pip

这样做的好处是,对于安装该应用程序的用户而言,它是可以正常使用的.开发人员将能够利用开发人员工具的改进(更好的git hooks预先提交自动更新,pytest更新pip install –upgrade -r requirements-dev.pip等,以便潜在地解决更多问题)

最佳答案
我认为这里的正确答案是应该有两个文件,一个文件具有宽松的要求,另一个文件具有经过测试的固定套件.由于大多数python项目仅使用一个requirements.txt文件(或您的情况,即requirements.pip)进行分发,因此目前尚无法通过简便的方式实现,但是将来的某个时候pipfile可能会成为新的标准.

简而言之,我认为您当前的方法尚可,不需要固定或任何其他方法,但是一种最佳解决方案将包括一个如下所示的需求文件,并由人工维护:

certifi
chardet
idna>=2.3

和一个看起来像这样的锁文件,它是在成功部署后由某些工具(例如pip冻结)创建的:

certifi==2019.3.9
chardet==3.0.4
idna==2.6

如果您认为这对您的项目有意义,请随时成为已建立的锁定文件格式的早期采用者(通过pipenvpoetry之类的工具),这比原始文本文件要好得多.

为了回答有关区分dev和非dev软件包的问题,​​pipfile格式将它们包含在同一文件和不同部分中,并且将它们全部取消固定在pipfile中,并将其固定在lockfile中.这似乎是the guys in charge of python packaging编写pipfile代码方法,所以我会继续相信他们的判断.

猜你在找的Python相关文章