在我的应用程序中,我想使用:
packageA
packageX==1.3
packageB
packageX==1.4
packageX==1.5
如何安装packageX带有pip的多个版本来处理这种情况?
packageX
点不会帮助您。
您可以告诉它安装特定版本,但是它将覆盖另一个版本。另一方面,使用两个virtualenvs将使您在同一台计算机上安装两个版本,但不能同时使用它们。
最好的选择是手动安装这两个版本,方法是将它们以不同的名称放在Python路径中。
但是,如果您的两个库期望它们具有相同的名称(并且应该相同),则必须对其进行修改,以便它们使用一些导入别名来选择所需的版本,例如:
import dependencyname_version as dependencyname
当前尚无干净的方法来执行此操作。您所希望的最好的办法就是使这种黑客能够正常工作。
我宁愿放弃两个库之一,而用一个等效库替换它,或者修补它以接受新版本的依赖项并将修补程序返回给社区。