Search code examples
pipaws-clisix

Why does the AWS CLI pip package installation install a six package it can't use?


Whenever I update my AWS CLI with

pip install -U awscli

it downgrades several packages (colorama, dill, rsa, and websocket-client) and upgrades six to a version (1.9.0) that it can't use. After updating, if I try to use the AWS CLI, (e.g. eb status) I get

Traceback (most recent call last):
  File "/usr/local/bin/eb", line 5, in <module>
    from pkg_resources import load_entry_point
  File "/Library/Python/2.7/site-packages/pkg_resources/__init__.py", line 3018, in <module>
    working_set = WorkingSet._build_master()
  File "/Library/Python/2.7/site-packages/pkg_resources/__init__.py", line 614, in _build_master
    return cls._build_from_requirements(__requires__)
  File "/Library/Python/2.7/site-packages/pkg_resources/__init__.py", line 627, in _build_from_requirements
    dists = ws.resolve(reqs, Environment())
  File "/Library/Python/2.7/site-packages/pkg_resources/__init__.py", line 805, in resolve
    raise DistributionNotFound(req)
pkg_resources.DistributionNotFound: six==1.8.0

In order to get the AWS CLIs working again I have to downgrade six to 1.8.0 (the other packages can be upgraded to the current versions again without ill effect). But the next update of awscli (over the past half dozen or so) always brings the current — but unusable by AWS CLIs — back again.

What's going on here? Is there a bug in the awscli package? Have others experienced this?


Solution

  • That was actually a bug in the awsebcli package's setup script that has now been fixed.