TL;DR
How can I instruct setuptools
to ignore dependency conflicts and carry on normally?
Background
My Python project has a set of Google Cloud dependencies declared in a requirements.txt
file.
These Google Cloud dependencies have a transitive dependency conflict that is ultimately resolved and the application seems to function properly.
Executing pip install -r requirements.txt
completes successfully and pipdeptree
reports these conflicts, but python setup.py install
fails due to these conflicts.
Warnings produced by 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]
Errors produced by 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'])
;