忽略 setuptools 安装引发的冲突

Ignore conflicts raised by setuptools install

TL;DR

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

背景

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

执行 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'])
;

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