4

TL;博士

如何指示setuptools忽略依赖冲突并正常进行?

背景

requirements.txt我的 Python 项目在文件中声明了一组 Google Cloud 依赖项。这些 Google Cloud 依赖项具有传递依赖项冲突,该冲突最终得到解决,并且应用程序似乎可以正常运行。

执行pip install -r requirements.txt成功完成并pipdeptree报告这些冲突,但python setup.py install由于这些冲突而失败。

产生的警告pipdeptree

Warning!!! Possibly conflicting dependencies found:
* gapic-google-cloud-pubsub-v1==0.15.3
- oauth2client [required: >=2.0.0,<4.0dev, installed: 4.0.0]
* google-gax==0.15.8
- oauth2client [required: >=2.0.0,<4.0dev, installed: 4.0.0]
* grpc-google-cloud-pubsub-v1==0.14.0
- oauth2client [required: >=2.0.0,<4.0dev, installed: 4.0.0]
* proto-google-cloud-pubsub-v1==0.15.3
- oauth2client [required: >=2.0.0,<4.0dev, installed: 4.0.0]
* grpc-google-iam-v1==0.11.1
- oauth2client [required: <4.0.0dev,>=2.0.0, installed: 4.0.0]

产生的错误python setup.py install

error: oauth2client 4.0.0 is installed but oauth2client<4.0dev,>=2.0.0 is required by set(['proto-google-cloud-pubsub-v1', 'gapic-google-cloud-pubsub-v1', 'google-gax'])
;
4

1 回答 1

3

这是不可能的。setuptools这种方式是严格的,必须解决冲突。

于 2017-06-11T22:16:09.073 回答