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

v0.10.2 is breaking awscli #37

Open
baskaran-md opened this issue Apr 6, 2020 · 2 comments
Open

v0.10.2 is breaking awscli #37

baskaran-md opened this issue Apr 6, 2020 · 2 comments

Comments

@baskaran-md
Copy link

The same error doesn't happen with v0.10.0.

[root@my-aws-instance ~]# aws --version
aws-cli/1.14.28 Python/2.7.5 Linux/3.10.0-957.21.3.el7.x86_64 botocore/1.8.35

[root@my-aws-instance ~]# pip install aws-ec2-assign-elastic-ip==0.10.2
DEPRECATION: Python 2.7 reached the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 is no longer maintained. A future version of pip will drop support for Python 2.7. More details about Python 2 support in pip, can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support
Collecting aws-ec2-assign-elastic-ip==0.10.2
  Downloading aws-ec2-assign-elastic-ip-0.10.2.tar.gz (9.5 kB)
Collecting boto3>=1.0.0
  Downloading boto3-1.12.37-py2.py3-none-any.whl (128 kB)
     |████████████████████████████████| 128 kB 7.9 MB/s
Requirement already satisfied: netaddr>=0.7.12 in /usr/lib/python2.7/site-packages (from aws-ec2-assign-elastic-ip==0.10.2) (0.7.19)
Collecting ec2-metadata>=1.8.0
  Downloading ec2_metadata-1.8.0-py2.py3-none-any.whl (7.2 kB)
Collecting botocore<1.16.0,>=1.15.37
  Downloading botocore-1.15.37-py2.py3-none-any.whl (6.1 MB)
     |████████████████████████████████| 6.1 MB 123.4 MB/s
Collecting s3transfer<0.4.0,>=0.3.0
  Downloading s3transfer-0.3.3-py2.py3-none-any.whl (69 kB)
     |████████████████████████████████| 69 kB 22.0 MB/s
Collecting jmespath<1.0.0,>=0.7.1
  Downloading jmespath-0.9.5-py2.py3-none-any.whl (24 kB)
Collecting cached-property
  Downloading cached_property-1.5.1-py2.py3-none-any.whl (6.0 kB)
Requirement already satisfied: requests in /usr/lib/python2.7/site-packages (from ec2-metadata>=1.8.0->aws-ec2-assign-elastic-ip==0.10.2) (2.23.0)
Requirement already satisfied: urllib3<1.26,>=1.20; python_version != "3.4" in /usr/lib/python2.7/site-packages (from botocore<1.16.0,>=1.15.37->boto3>=1.0.0->aws-ec2-assign-elastic-ip==0.10.2) (1.25.8)
Requirement already satisfied: docutils<0.16,>=0.10 in /usr/lib/python2.7/site-packages (from botocore<1.16.0,>=1.15.37->boto3>=1.0.0->aws-ec2-assign-elastic-ip==0.10.2) (0.11)
Collecting python-dateutil<3.0.0,>=2.1
  Downloading python_dateutil-2.8.1-py2.py3-none-any.whl (227 kB)
     |████████████████████████████████| 227 kB 127.2 MB/s
Requirement already satisfied: futures<4.0.0,>=2.2.0; python_version == "2.7" in /usr/lib/python2.7/site-packages (from s3transfer<0.4.0,>=0.3.0->boto3>=1.0.0->aws-ec2-assign-elastic-ip==0.10.2) (3.3.0)
Requirement already satisfied: idna<3,>=2.5 in /usr/lib/python2.7/site-packages (from requests->ec2-metadata>=1.8.0->aws-ec2-assign-elastic-ip==0.10.2) (2.9)
Requirement already satisfied: chardet<4,>=3.0.2 in /usr/lib/python2.7/site-packages (from requests->ec2-metadata>=1.8.0->aws-ec2-assign-elastic-ip==0.10.2) (3.0.4)
Requirement already satisfied: certifi>=2017.4.17 in /usr/lib/python2.7/site-packages (from requests->ec2-metadata>=1.8.0->aws-ec2-assign-elastic-ip==0.10.2) (2019.11.28)
Requirement already satisfied: six>=1.5 in /usr/lib/python2.7/site-packages (from python-dateutil<3.0.0,>=2.1->botocore<1.16.0,>=1.15.37->boto3>=1.0.0->aws-ec2-assign-elastic-ip==0.10.2) (1.14.0)
ERROR: awscli 1.14.28 requires colorama<=0.3.7,>=0.2.5, which is not installed.
ERROR: awscli 1.14.28 has requirement botocore==1.8.32, but you'll have botocore 1.15.37 which is incompatible.
ERROR: awscli 1.14.28 has requirement rsa<=3.5.0,>=3.1.2, but you'll have rsa 4.0 which is incompatible.
ERROR: awscli 1.14.28 has requirement s3transfer<0.2.0,>=0.1.12, but you'll have s3transfer 0.3.3 which is incompatible.
Installing collected packages: jmespath, python-dateutil, botocore, s3transfer, boto3, cached-property, ec2-metadata, aws-ec2-assign-elastic-ip
  Attempting uninstall: python-dateutil
    Found existing installation: python-dateutil 1.5
    Uninstalling python-dateutil-1.5:
      Successfully uninstalled python-dateutil-1.5
  Attempting uninstall: s3transfer
    Found existing installation: s3transfer 0.1.13
    Uninstalling s3transfer-0.1.13:
      Successfully uninstalled s3transfer-0.1.13
  Attempting uninstall: aws-ec2-assign-elastic-ip
    Found existing installation: aws-ec2-assign-elastic-ip 0.8.1
    Uninstalling aws-ec2-assign-elastic-ip-0.8.1:
      Successfully uninstalled aws-ec2-assign-elastic-ip-0.8.1
    Running setup.py install for aws-ec2-assign-elastic-ip ... done
Successfully installed aws-ec2-assign-elastic-ip-0.10.2 boto3-1.12.37 botocore-1.15.37 cached-property-1.5.1 ec2-metadata-1.8.0 jmespath-0.9.5 python-dateutil-2.8.1 s3transfer-0.3.3


[root@my-aws-instance ~]# aws --help
Traceback (most recent call last):
  File "/usr/bin/aws", line 27, in <module>
    sys.exit(main())
  File "/usr/bin/aws", line 23, in main
    return awscli.clidriver.main()
  File "/usr/lib/python2.7/site-packages/awscli/clidriver.py", line 59, in main
    driver = create_clidriver()
  File "/usr/lib/python2.7/site-packages/awscli/clidriver.py", line 70, in create_clidriver
    event_hooks=emitter)
  File "/usr/lib/python2.7/site-packages/awscli/plugin.py", line 46, in load_plugins
    modules = _import_plugins(plugin_mapping)
  File "/usr/lib/python2.7/site-packages/awscli/plugin.py", line 63, in _import_plugins
    module = __import__(path, fromlist=[module])
  File "/usr/lib/python2.7/site-packages/awscli/handlers.py", line 27, in <module>
    from awscli.customizations.cloudformation import initialize as cloudformation_init
  File "/usr/lib/python2.7/site-packages/awscli/customizations/cloudformation/__init__.py", line 13, in <module>
    from awscli.customizations.cloudformation.package import PackageCommand
  File "/usr/lib/python2.7/site-packages/awscli/customizations/cloudformation/package.py", line 27, in <module>
    from awscli.customizations.s3uploader import S3Uploader
  File "/usr/lib/python2.7/site-packages/awscli/customizations/s3uploader.py", line 23, in <module>
    from s3transfer.manager import TransferManager
  File "/usr/lib/python2.7/site-packages/s3transfer/manager.py", line 21, in <module>
    from s3transfer.utils import get_callbacks
  File "/usr/lib/python2.7/site-packages/s3transfer/utils.py", line 27, in <module>
    from botocore.exceptions import ReadTimeoutError
ImportError: cannot import name ReadTimeoutError
[root@my-aws-instance ~]#
@sebdah
Copy link
Owner

sebdah commented Apr 7, 2020

Thanks for reporting this, I cannot reproduce this. But my awscli version is higher than yours:

aws-cli/1.18.26 Python/3.8.2 Linux/5.4.28-1-MANJARO botocore/1.15.37

This is what my installation output looks like:

⟩ pip install aws-ec2-assign-elastic-ip==0.10.2                                                                     [06:15:11]
Defaulting to user installation because normal site-packages is not writeable
Collecting aws-ec2-assign-elastic-ip==0.10.2
  Downloading aws-ec2-assign-elastic-ip-0.10.2.tar.gz (9.5 kB)
Requirement already satisfied: boto3>=1.0.0 in /home/sebdah/.local/lib/python3.8/site-packages (from aws-ec2-assign-elastic-ip==0.10.2) (1.12.37)
Collecting netaddr>=0.7.12
  Downloading netaddr-0.7.19-py2.py3-none-any.whl (1.6 MB)
     |████████████████████████████████| 1.6 MB 2.0 MB/s
Collecting ec2-metadata>=1.8.0
  Downloading ec2_metadata-2.2.0-py3-none-any.whl (8.1 kB)
Requirement already satisfied: s3transfer<0.4.0,>=0.3.0 in /usr/lib/python3.8/site-packages (from boto3>=1.0.0->aws-ec2-assign-elastic-ip==0.10.2) (0.3.3)
Requirement already satisfied: jmespath<1.0.0,>=0.7.1 in /usr/lib/python3.8/site-packages (from boto3>=1.0.0->aws-ec2-assign-elastic-ip==0.10.2) (0.9.5)
Requirement already satisfied: botocore<1.16.0,>=1.15.37 in /home/sebdah/.local/lib/python3.8/site-packages (from boto3>=1.0.0->aws-ec2-assign-elastic-ip==0.10.2) (1.15.37)
Requirement already satisfied: requests in /usr/lib/python3.8/site-packages (from ec2-metadata>=1.8.0->aws-ec2-assign-elastic-ip==0.10.2) (2.23.0)
Requirement already satisfied: cached-property in /usr/lib/python3.8/site-packages (from ec2-metadata>=1.8.0->aws-ec2-assign-elastic-ip==0.10.2) (1.5.1)
Requirement already satisfied: docutils<0.16,>=0.10 in /usr/lib/python3.8/site-packages (from botocore<1.16.0,>=1.15.37->boto3>=1.0.0->aws-ec2-assign-elastic-ip==0.10.2) (0.15.2)
Requirement already satisfied: urllib3<1.26,>=1.20; python_version != "3.4" in /usr/lib/python3.8/site-packages (from botocore<1.16.0,>=1.15.37->boto3>=1.0.0->aws-ec2-assign-elastic-ip==0.10.2) (1.25.8)
Requirement already satisfied: python-dateutil<3.0.0,>=2.1 in /usr/lib/python3.8/site-packages (from botocore<1.16.0,>=1.15.37->boto3>=1.0.0->aws-ec2-assign-elastic-ip==0.10.2) (2.8.1)
Requirement already satisfied: chardet>=3.0.2 in /usr/lib/python3.8/site-packages (from requests->ec2-metadata>=1.8.0->aws-ec2-assign-elastic-ip==0.10.2) (3.0.4)
Requirement already satisfied: idna>=2.5 in /usr/lib/python3.8/site-packages (from requests->ec2-metadata>=1.8.0->aws-ec2-assign-elastic-ip==0.10.2) (2.9)
Requirement already satisfied: six>=1.5 in /usr/lib/python3.8/site-packages (from python-dateutil<3.0.0,>=2.1->botocore<1.16.0,>=1.15.37->boto3>=1.0.0->aws-ec2-assign-elastic-ip==0.10.2) (1.14.0)
Building wheels for collected packages: aws-ec2-assign-elastic-ip
  Building wheel for aws-ec2-assign-elastic-ip (setup.py) ... done
  Created wheel for aws-ec2-assign-elastic-ip: filename=aws_ec2_assign_elastic_ip-0.10.2-py3-none-any.whl size=10122 sha256=c4c6c07f4feebba3cf318056db72010cf91e7c3caeb7cbf1ba14524700bfda5e
  Stored in directory: /home/sebdah/.cache/pip/wheels/a5/f7/7a/7b0c8cafcd1168b975c03adadb168a7c2c9698ccbe8dc733d9
Successfully built aws-ec2-assign-elastic-ip
Installing collected packages: netaddr, ec2-metadata, aws-ec2-assign-elastic-ip
Successfully installed aws-ec2-assign-elastic-ip-0.10.2 ec2-metadata-2.2.0 netaddr-0.7.19

Could you please try by updating your awscli first as it seems like you get incompatible package versions.

The major difference between 0.10.0 and 0.10.2 is that Boto3 is installed in the installation process of the latter.

@gfrankliu
Copy link

The latest awscli that comes with CentOS 7 is awscli-1.14.28-5.el7_5.1.noarch.rpm
https://mirrors.edge.kernel.org/centos/7/os/x86_64/Packages/

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

3 participants