how to check awscli and compatible botocore package is installed
Asked Answered
S

3

27

I am trying to learn python for aws using boto3 so I was trying to execute code given here https://boto3.readthedocs.io/en/latest/guide/s3-example-creating-buckets.html I got errors module boto3 not found
so I upgraded to boto3 based on an answer here Unable to install boto3 mentioned to use pip3 install boto3 issuing of this command gives me following output

C:\Users\DEEL>pip3 install boto3
Collecting boto3
  Downloading https://files.pythonhosted.org/packages/c9/cd/d48602dc99ecb52876cf
741477f15c874b631e5776723f27092693a5b535/boto3-1.7.80-py2.py3-none-any.whl (128k
B)
    100% |████████████████████████████████| 133kB 160kB/s
Collecting botocore<1.11.0,>=1.10.80 (from boto3)
  Downloading https://files.pythonhosted.org/packages/5e/cf/b97f44993766af17bf64
aeddadf66f63b6ebf3d700565cc7ee7b13cd0067/botocore-1.10.80-py2.py3-none-any.whl (
4.5MB)
    100% |████████████████████████████████| 4.5MB 1.3MB/s
Requirement already satisfied: jmespath<1.0.0,>=0.7.1 in e:\installation2\python
3\lib\site-packages (from boto3) (0.9.3)
Requirement already satisfied: s3transfer<0.2.0,>=0.1.10 in e:\installation2\pyt
hon3\lib\site-packages (from boto3) (0.1.13)
Requirement already satisfied: docutils>=0.10 in e:\installation2\python3\lib\si
te-packages (from botocore<1.11.0,>=1.10.80->boto3) (0.14)
Requirement already satisfied: python-dateutil<3.0.0,>=2.1; python_version >= "2
.7" in e:\installation2\python3\lib\site-packages (from botocore<1.11.0,>=1.10.8
0->boto3) (2.7.3)
Requirement already satisfied: six>=1.5 in e:\installation2\python3\lib\site-pac
kages (from python-dateutil<3.0.0,>=2.1; python_version >= "2.7"->botocore<1.11.
0,>=1.10.80->boto3) (1.11.0)
awscli 1.15.80 has requirement botocore==1.10.79, but you'll have botocore 1.10.
80 which is incompatible.
Installing collected packages: botocore, boto3
  Found existing installation: botocore 1.10.79
    Uninstalling botocore-1.10.79:
      Successfully uninstalled botocore-1.10.79

in this output there is a line awscli 1.15.80 has requirement botocore==1.10.79, but you'll have botocore 1.10. 80 which is incompatible.

so based on link here How to upgrade AWS CLI to the latest version? I upgraded awscli pip3 install –upgrade awscli got following output on screen

C:\Users\DEEL>pip3 install --upgrade awscli
Collecting awscli
  Downloading https://files.pythonhosted.org/packages/6b/fa/89c248eaacccd816fdea
88206060a7cd221f227855782ff7b0ffb80d725a/awscli-1.15.81-py2.py3-none-any.whl (1.
3MB)
    100% |████████████████████████████████| 1.3MB 198kB/s
Requirement already satisfied, skipping upgrade: rsa<=3.5.0,>=3.1.2 in e:\instal
lation2\python3\lib\site-packages (from awscli) (3.4.2)
Requirement already satisfied, skipping upgrade: PyYAML<=3.13,>=3.10 in e:\insta
llation2\python3\lib\site-packages (from awscli) (3.13)
Requirement already satisfied, skipping upgrade: colorama<=0.3.9,>=0.2.5 in e:\i
nstallation2\python3\lib\site-packages (from awscli) (0.3.9)
Requirement already satisfied, skipping upgrade: botocore==1.10.80 in e:\install
ation2\python3\lib\site-packages (from awscli) (1.10.80)
Requirement already satisfied, skipping upgrade: s3transfer<0.2.0,>=0.1.12 in e:
\installation2\python3\lib\site-packages (from awscli) (0.1.13)
Requirement already satisfied, skipping upgrade: docutils>=0.10 in e:\installati
on2\python3\lib\site-packages (from awscli) (0.14)
Requirement already satisfied, skipping upgrade: pyasn1>=0.1.3 in e:\installatio
n2\python3\lib\site-packages (from rsa<=3.5.0,>=3.1.2->awscli) (0.4.4)
Requirement already satisfied, skipping upgrade: jmespath<1.0.0,>=0.7.1 in e:\in
stallation2\python3\lib\site-packages (from botocore==1.10.80->awscli) (0.9.3)
Requirement already satisfied, skipping upgrade: python-dateutil<3.0.0,>=2.1; py
thon_version >= "2.7" in e:\installation2\python3\lib\site-packages (from botoco
re==1.10.80->awscli) (2.7.3)
Requirement already satisfied, skipping upgrade: six>=1.5 in e:\installation2\py
thon3\lib\site-packages (from python-dateutil<3.0.0,>=2.1; python_version >= "2.
7"->botocore==1.10.80->awscli) (1.11.0)
Installing collected packages: awscli
  Found existing installation: awscli 1.15.80
    Uninstalling awscli-1.15.80:
      Successfully uninstalled awscli-1.15.80
Successfully installed awscli-1.15.81

my question is what is that incompatibility message which I got when installing boto3 awscli 1.15.80 has requirement botocore==1.10.79, but you'll have botocore 1.10. 80 which is incompatible. how do I check the compatibility of awscli and botocore installations and what should be done on my machine so that I don't face problems in further development work.

pip3 list shows following

C:\Users\DEEL>pip3 list
Package         Version
--------------- -------
awscli          1.15.81
boto3           1.7.80
botocore        1.10.80
colorama        0.3.9
docutils        0.14
jmespath        0.9.3
pip             18.0
pyasn1          0.4.4
python-dateutil 2.7.3
PyYAML          3.13
rsa             3.4.2
s3transfer      0.1.13
setuptools      39.0.1
six             1.11.0

What should I do now so that awscli and botocore are compatible?

However I would like to mention the code which I was trying from https://boto3.readthedocs.io/en/latest/guide/s3-example-creating-buckets.html executed successfully after all this work.

Sculpt answered 18/8, 2018 at 17:29 Comment(0)
A
49

Same issue here and how I solved is shown below.

Upgrade aws-cli to latest version

$ pip3 install awscli --upgrade --user

Uninstall existing previous version of botocore and boto3

$ pip3 uninstall botocore
$ pip3 uninstall boto3

And Install again

$ pip3 install botocore
$ pip3 install boto3

Result log

Package         Version
--------------- -------
awscli          1.16.1 
boto3           1.8.1  
botocore        1.11.1 
colorama        0.3.9  
docutils        0.14   
jmespath        0.9.3  
pip             18.0   
pyasn1          0.4.4  
python-dateutil 2.7.3  
PyYAML          3.13   
rsa             3.4.2  
s3transfer      0.1.13 
setuptools      40.0.0 
six             1.11.0 
urllib3         1.23   
virtualenv      16.0.0 
wheel           0.31.1
Aiello answered 25/8, 2018 at 7:34 Comment(1)
Cool! Saved me a bunch of time.Alms
A
7

Other answers emphasize on upgrading the version but there is an issue with that in case someone requires a particular version to use. I have to use a third party library which required botocore 1.18.18 and I want corresponding compatible version of awscli. For this, just visit release history page of botocore on pypi .Search for your botocore version and check it's release date. After this, visit corresponding release history page of awscli and search for the awscli version released on that particular date.

Anabasis answered 5/4, 2021 at 3:26 Comment(0)
C
1

In my my case worked this:

> pip uninstall awsebcli boto3 botocore s3transfer

And then install awsebcli and boto3 by the same time, by running > pip install awsebcli boto3. Other libraries will be installed automatically and pip will find appropriate versions in your case. Actually it took me many hours to solve this. The strange this is that, when we run > pip install awsebcli it will automatically install botocore as well. And when we run > pip install boto3, it will install boto3, s3transfer and botocore as well. So incompatible conflicts will be precense in many cases. Hope the commands above will help somehowe.

Cullet answered 9/3 at 22:16 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.