【问题标题】:Pip install package with dependencies isolatedPip 安装包,依赖隔离
【发布时间】:2018-09-04 12:18:15
【问题描述】:

我的 Python2.7 项目需要与我的依赖项之一不同的版本。

比如说,我的项目有 lib1 和 lib2。我的项目需要 lib2 v1.1,但 lib1 需要 lib2 v2.0。 2.0 版本不向后兼容 v1.1。

如何安装不会相互冲突的同一个包的两个版本,或者安装 lib1 并隔离其依赖项,然后只导入它而不与我的包冲突。

补充: 这个问题是关于如何解决对同一包的不同版本的依赖关系并在同一代码库中使用它们。

是否有任何通用的解决方案来隔离子依赖项,并确保您的包不会相互冲突?

拥有多个可以使用不同版本依赖项的环境对此无济于事。

【问题讨论】:

  • 为什么所有答案都被标记了?如果他们没有满意地回答您的问题,那么您的问题可能不够清楚。至少,他们试图回答您的问题并提供帮助!
  • @user8212173 我这样做了,不是 OP。他们回答了一个不同的问题。不是被问到的那个。
  • @phd 这个问题是如何将pip install 转换为正确的python 版本。这个问题是关于如何在同一个项目中管理不同版本的库。

标签: python python-2.7 pip


【解决方案1】:

您可以创建两个不同的虚拟环境:

安装虚拟环境:

pip install virtualenv

创建环境:

virtualenv env1

激活你的环境(linux):

source activate env1

(win --> source bin env1)

在 env1 中:

(env1)pip install package=1.2

在 env2 中:

(env2)pip install package=1.1

【讨论】:

  • 但是如何在 env1 中使用 env2 呢?就像将 env2 导出为具有某个名称的包并将其导入 env1
  • 带“virtualenv”
  • 但这并不能解决我的问题,因为我需要在 env1 中使用 other_package 安装在 env2 中。我怎样才能导入它?
猜你喜欢
  • 1970-01-01
  • 2011-11-12
  • 2011-08-19
  • 2019-09-25
  • 2016-08-21
  • 2014-11-21
  • 2018-09-27
  • 2011-01-20
  • 2012-06-04
相关资源
最近更新 更多