当前位置: 首页 > 面试题库 >

使用pip安装软件包的多个版本

庄弘业
2023-03-14
问题内容

在我的应用程序中,我想使用:

  • packageA,这需要 packageX==1.3
  • packageB,这需要 packageX==1.4
  • packageX==1.5

如何安装packageX带有pip的多个版本来处理这种情况?


问题答案:

点不会帮助您。

您可以告诉它安装特定版本,但是它将覆盖另一个版本。另一方面,使用两个virtualenvs将使您在同一台计算机上安装两个版本,但不能同时使用它们。

最好的选择是手动安装这两个版本,方法是将它们以不同的名称放在Python路径中。

但是,如果您的两个库期望它们具有相同的名称(并且应该相同),则必须对其进行修改,以便它们使用一些导入别名来选择所需的版本,例如:

import dependencyname_version as dependencyname

当前尚无干净的方法来执行此操作。您所希望的最好的办法就是使这种黑客能够正常工作。

我宁愿放弃两个库之一,而用一个等效库替换它,或者修补它以接受新版本的依赖项并将修补程序返回给社区。



 类似资料:
  • 问题内容: 我正在尝试使用通过该选项创建的新virtualenv安装MySQL_python适配器的1.2.2版本。PyPi中显示的当前版本是1.2.3。有没有办法安装旧版本?我发现有一篇文章指出应该这样做: 但是,安装后,它仍显示在站点包中。这是此软件包专用的问题,还是我做错了什么? 问题答案: TL; DR: (即) 首先,我发现您要执行的操作有两个问题。由于您已经安装了版本,因此应该卸载当前

  • 问题内容: 我正在尝试使用通过该–选项创建的新virtualenv安装MySQL_python适配器的1.2.2版本。PyPi中显示的当前版本是1.2.3。有没有安装旧版本的方法?我发现有一篇文章指出应该这样做: 但是,安装后,它仍显示在站点包中。这是此软件包专用的问题,还是我做错了什么? 问题答案: TL; DR: (即) 首先,我发现你要执行的操作有两个问题。由于已经安装了版本,因此应该卸载当

  • 问题内容: 使用pip,可以确定当前安装了哪个版本的软件包? 我知道,但是我想知道是否有类似的东西。如果不是,最好的方法就是告诉我当前使用的版本。 问题答案: 从pip 1.3开始,有一个命令。 在旧版本,并应做的工作很好。

  • 问题内容: 我是一个有点新的和一般的。 我已经在服务器以及本地开发环境上设置了virtualenv。 在服务器上,程序包运行良好。 但是,在我的本地计算机上似乎根本无法正常工作。 我通常只是像这样在virtual-env中安装它: 不过,这会获得最新版本,这是第一次导致使用最新版本的问题。 所以我像这样卸载了版本5 alpha: 但是现在我不知道如何再次获得工作版本0.4.0 Beta。我试过了,

  • 我有一个python包A,它依赖于另一个名为godot的私有包(托管在bitbucket上,应该通过git ssh协议访问)。在包A的设置中。py,我有以下代码: 我这里有两个问题: > 重新安装hghttps://bitbucket.org/pypa/setuptools#egg=setuptools 我几乎解决了这一点,但我想知道是否有其他方法可用?调用pip安装-rrequirements.

  • 问题内容: 我刚刚将软件包的新版本上传到PyPi(1.2.1.0-r4):我可以下载egg文件并使用easy_install进行安装,并且该版本可以正确检出。但是,当我尝试使用pip进行安装时,它将安装版本1.1.0.0。即使我明确指定要使用的版本,也会收到以下消息:,但我不明白为什么。 我仔细检查并确认1.2.1上的版本字符串大于1.1.0上的版本字符串,如下所示: 那么,为什么要选择安装1.1