相关疑难解决方法(0)

Python / pip 如何处理冲突的传递依赖项?

假设我想安装a需要包b1和b2. 反过来,b1需要c > 1.0.0和b2需要c < 1.0.0。所以不能用同一个包同时满足b1和的要求b2。

原则上/其他编程语言,这不是问题。可以c并排安装两个版本,并确保b1使用的版本不是b2.

但是,我不确定 pip 是否可以安装同一个包的两个版本。我的第一个问题是:pip 可以安装一个包的两个版本吗?

我的主要问题是如何实际处理该问题。我现在能想到的唯一方法就是

  1. 叉b1(或b2)和一个版本c是作品叉,并上传b1_forked和c_for_b1_forked到PyPI中,或
  2. 在我的项目中直接包含b1(或b2)的代码

两者似乎都比必要的问题更多。

我试过的

>>> import natsort; print(natsort.__file___)
'/home/moose/.local/lib/python3.6/site-packages/natsort/__init__.py'

$ cd /home/moose/.local/lib/python3.6/site-packages
$ ls
[... a lot of *.dist-info directories, some .py files, some .so files, ]
[... some directories …
Run Code Online (Sandbox Code Playgroud)

python pip dependency-management python-poetry

4
推荐指数
1
解决办法
1262
查看次数