Python pip控制盘如何解决可传递依赖关系?
当我运行Python pip控制盘如何解决可传递依赖关系?,python,pip,pypi,python-wheel,Python,Pip,Pypi,Python Wheel,当我运行pip-wheel-sentry sdk时,它会下载以下wheel文件: certifi-2020.6.20-py2.py3无任何。whl sentry_sdk-0.18.0-py2.py3无任何。whl urllib3-1.25.10-py2.py3无任何.whl 其中sentry_sdk-0.18.0-py2.py3无任何。whl是我实际想要使用的库,其他库是此库工作所需的可传递依赖项。我理解该文件来自于,但我不理解的是,pip-wheel是如何选择上述可传递依赖项的版本的 更多上下
pip-wheel-sentry sdk
时,它会下载以下wheel文件:
certifi-2020.6.20-py2.py3无任何。whl
sentry_sdk-0.18.0-py2.py3无任何。whl
urllib3-1.25.10-py2.py3无任何.whl
sentry_sdk-0.18.0-py2.py3无任何。whl
是我实际想要使用的库,其他库是此库工作所需的可传递依赖项。我理解该文件来自于,但我不理解的是,pip-wheel
是如何选择上述可传递依赖项的版本的
更多上下文
我的根本问题是,urlib3
的已解决版本与我正在处理的项目的pex文件中已添加的另一个版本冲突(我使用Bazel生成pex)。我正在考虑降级urlib3
的版本,以匹配我的项目的现有版本。查看it表示它只要求它大于1.10.0
(“urllib3>=1.10.0”
),因此我认为降级会起作用,但我希望确保避免生产崩溃
感谢当前版本的pip(2020-10-13),它贪婪地选择第一个约束(因此,如果首先遇到无限制的
urllib3
,它将选择最新版本——即使以后的包有更严格的要求)
这在pip中正在被更改,您可以,并且它将在未来(今年晚些时候)成为默认版本。当前版本的pip(2020-10-13),它贪婪地选择第一个约束(因此,如果首先遇到无限制的urllib3,它将选择最新版本——即使以后的包有更严格的要求) 这一点在pip中正在改变,您可以这样做,它将在未来(今年晚些时候)成为默认值