Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

botocore version conflict between awscli, boto3, and moto #1813

Closed
matthew-craig-ncino opened this issue Sep 6, 2018 · 8 comments
Closed

Comments

@matthew-craig-ncino
Copy link

matthew-craig-ncino commented Sep 6, 2018

Performing a side by side pip install of awscli, boto3, botocore, and moto results in an incompatible conflict.

To Reproduce run this in a terminal with a fresh machine:
pip install boto3 awscli moto botocore

Actual results yeild:
moto 1.3.5 has requirement botocore<1.11,>=1.9.16, but you'll have botocore 1.11.8 which is incompatible.
Performing a pip list confirms that the moto library is not installed after the above command.

Expected results:
Successful install.

I am attempting to use the following versions:

  • awscli-1.16.8
  • boto3-1.8.8
  • botocore-1.11.8
  • moto-1.3.5

I have tried this on the following versions of python:

  • Python 3.7.0
  • Python 2.7.15
  • pip 18.0 (for both python2 and python3)

The source of the problem is:

awscli requires: botocore>1.11.8

boto3 requires botocore>1.11.8

moto requires: botocore>=1.9.16,<1.11

This creates a grid lock that prevents moto from being installed.

I am running on Mac OSX High Sierra, Ubuntu Linux, and Alphine Linux.

matthew-craig-ncino pushed a commit to matthew-craig-ncino/moto that referenced this issue Sep 6, 2018
- Updated version of botocore to allow awscli and boto3 to work with
moto
@matthew-craig-ncino
Copy link
Author

matthew-craig-ncino commented Sep 6, 2018

I attempted to bump the moto requirement to anything less than 1.12 but this caused numerous NoCredential Exceptions in unit testing. After an hour of looking I was not able pinpoint the cause. At about botocore version 1.11.4(~) they did make some changes to auth and signatures, but I was not familiar enough with moto/botocore to resolve. I may look at when I have more time, but if anyone knows the projects better it would be nice to have additional input.

I also had a question for devs that I didn't see in the documentation, How do the unit tests run locally? I was able to follow the travis setup to the point of running make test but got errors about nosetests not defined. I use nose in my own testing but I'm not sure what I'm missing on this.

Thanks.

@nikolay-saskovets
Copy link

We faced with slighty the same issue.
For us the rollback to moto==1.3.4 is a workable workaround.

btw, it seems like the same issue as in #1800. Isn't it, @matthew-craig-ncino?

@joguSD
Copy link
Contributor

joguSD commented Sep 7, 2018

See #1793

@aaron-trout
Copy link

Also hitting this when trying to install boto3 + moto today. Also as mentioned above tests which previously passed now fail, but I think possibly just due to changes in boto3 and not to do with moto itself?

I mostly get stuff like this:

botocore.exceptions.ClientError: An error occurred (VPCIdNotSpecified) when calling the RunInstances operation: No default VPC for this user

@joguSD
Copy link
Contributor

joguSD commented Sep 10, 2018

@aaron-trout moto needs to be updated to accommodate newer versions of boto3/botocore that's why they've pinned the version.

@spulec
Copy link
Collaborator

spulec commented Sep 22, 2018

This should be fixed with #1800

@spulec spulec closed this as completed Sep 22, 2018
@DrNickBailey
Copy link

This seems to be a problem again. Installing s3fs with pip results in this warning/error:

ERROR: After October 2020 you may experience errors when installing or updating packages. This is because pip will change the way that it resolves dependency conflicts.

We recommend you use --use-feature=2020-resolver to test your packages with the new resolver before it becomes the default.

boto3 1.16.24 requires botocore<1.20.0,>=1.19.24, but you'll have botocore 1.17.44 which is incompatible.

@bblommers
Copy link
Collaborator

Don't think that's a Moto issue, @DrNickBailey - we require botocore>=1.12.201, but nothing more specific

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants