处理不同的必需包版本

时间:2014-07-29 00:37:11

标签: python

我(谢天谢地)以前从未遇到过这种情况,而且(遗憾地)只是这样做了。

我的应用现在导入2个包,每个包都导入requests库。两位作者将requests的版本与不同版本挂钩。一个想要2.1.0,另一个想要2.3.0。

自动测试似乎都会传递。我的应用似乎在两者上完美运行。

然而,由于要求,我的应用程序无法启动。根据我在开发环境中可以理解的内容,因为版本号被挂在requirements.txt文件中。 [在dev中我们有PasteDeploy + Waitress,在PasteDeploy中引发异常;在生产中我们有uwsgi]

我能想到的唯一方法就是:

  • 分叉项目
  • 将系统更改为不使用压缩蛋,并运行补丁。
这两者都很难维护,并为构建/部署过程增加了很多复杂性。

有没有人有其他建议?

1 个答案:

答案 0 :(得分:-1)

你有几个选择,这是我能想到的唯一选择:

  1. fork(对不起,但这可能是最简单/最快),
  2. 等待旧版软件包的新版本,或
  3. 将其改为不使用拉链蛋(虽然我不太明白这一点)。
  4. [编辑]你可能会欺骗一个人认为它正在使用它的版本。我不知道具体细节,但根据我的理解,你可以使用虚拟机。
  5. 可能还有其他人我不知道(实际上很可能)但是我希望你能找到解决方案!