确保您的依赖项在最低版本下工作

pessimist的Python项目详细描述


悲观主义者

“乐观主义者”这个名字已经被取了?在

考虑到您列出的需求,以及如何运行测试,请尝试各种 确保最小值准确的版本。在

使用

python -m pessimist [-c 'make test'] [--fast] [--extend=name[,name...]] [--requirements=requirements*.txt] /path/to/repo
  • -c——要运行的命令。如果使用src/layout,则可以使用cd src; python -m unittest左右。在
  • --fast——只验证最低和最高版本
  • --extend——完全忽略所列规范名称的说明符; 目的是让您回到过去==,并且可以改进以做更多的事情 就像将来那样。也允许*作为一个名称来表示 “变量”
  • --requirements——逗号分隔的globs,表示“fixed” 要求。在
  • --verbose——在日志工作时显示日志

固定和可变

  • 固定需求来自requirements*.txt。如果这些匹配多个 版本,只保留最新版本。在
  • 可变要求来自setup.py/setup.cfg/等 元数据。这些是我们感兴趣尝试的。在
  • 如果两个集合中都有一个名称,则遵循变量逻辑。在

战略

  1. 试试所有东西的最新版本。如果保释不通过的话。在
  2. 对于每个dep独立地尝试旧版本。在
  3. 试试最旧的版本。如果不能通过保释。在

我订阅了要求.txt应该是你想要的具体版本 词学在词学中的运用setup.py/setup.cfg文件/pyproject.toml项目 应该是>=的最低工作版本,<是下一个主要版本 (“兼容”,用诗歌来说)。在

我创建这个的目标是有一个我们没有破坏的自动检查 无意中与旧版本兼容。你可以有一个更简单的 对您的需求文件执行sed -e 's/>=/==/的版本,但是如果 这失败了,找到新的最小值仍然是一个自动化的研究项目 通过这个。在

许可证

悲观主义者版权Tim Hatch,并根据 麻省理工学院的执照。我在一个开放的 源代码许可证。这是我的个人存储库;您收到的许可证 我的代码来自我而不是我的雇主。有关详细信息,请参阅LICENSE文件。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java类。getResource和ClassLoader。getSystemResource:有没有理由选择其中一个而不是另一个?   在Java中以编程方式粘贴后恢复剪贴板   Java字符串到日期没有时间   JavaSpring注释:@Component起作用,@Repository不起作用   java“addScript”在HSQL中是否有最大记录计数?   java如何将值从JDialog框返回到父JFrame?   java我的模块库的用户有没有办法访问尚未导出的类?   java javac:未找到命令   java如何解决jsoup错误:无法找到请求目标的有效证书路径   类中的java作用域变量   Java中集合实现中的arraylist add()方法不起作用   java如何使用while循环和从用户接收输入来近似Pi?   java Spring安全CSRF培训模式   在安卓系统中,如何通过在警报框外单击来限制用户?