为什么AWS CLI pip包安装会安装一个它不能使用的六个包?

时间:2015-02-14 15:09:47

标签: pip aws-cli six

每当我用

更新我的AWS CLI时
pip install -U awscli

它降级了多个软件包(coloramadillrsawebsocket-client)并将six升级到版本(1.9.0)不能用。更新后,如果我尝试使用AWS CLI,(例如eb status)我得到

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

为了让AWS CLI再次运行,我必须将six降级到1.8.0(其他软件包可以再次升级到当前版本而不会产生不良影响)。但是awscli的下一次更新(在过去的一半左右)总是带来当前的 - 但是AWS CLIs无法使用 - 再次回归。

这里发生了什么? awscli包中是否有错误?有其他人经历过这个吗?

3 个答案:

答案 0 :(得分:1)

这实际上是awsebcli软件包设置脚本中有now been fixed的错误。

答案 1 :(得分:0)

您可以在userdata脚本中使用以下技巧来避免这种情况。

pip install six==1.8.0
pip install awscli

问候。

答案 2 :(得分:0)

如果安装了Python 3,请使用

pip3 install awscli