' AWSHTTPSConnection'对象没有属性' ssl_context'

时间:2017-08-22 14:59:07

标签: aws-cli

Not working
    root@49161b16e779:/# aws --version
    aws-cli/1.11.121 Python/3.5.2 Linux/4.10.0-32-generic botocore/1.5.84
    root@49161b16e779:/# aws s3 ls s3://my.bucket.path
    'AWSHTTPSConnection' object has no attribute 'ssl_context'

Working fine
    tada@tada-VirtualBox:~$ aws --version
    aws-cli/1.11.13 Python/3.5.2 Linux/4.10.0-32-generic botocore/1.4.70

以上是我最近遇到的一个问题,从2017年7月25日到8月3日。

Docker是节点:6.9.2。还试过了“ubuntu'图像,同样的错误。

我似乎无法找到错误来源。有谁知道如何解决它?感谢。

1 个答案:

答案 0 :(得分:20)

这是由于https://github.com/boto/botocore/issues/1258#issuecomment-321787841中提到的AWS CLI中的一个错误导致的,该错误使其与新请求版本的请求不兼容。如果您使用Pip安装awscli,则无法看到该错误,因为您从Pip获得的版本中包含旧的兼容版本的请求。但是,如果您已经使用Apt(或者某些其他软件包管理器)安装了AWS CLI,那么您将获得一个使用系统的请求模块的AWS CLI版本,让你暴露于这个bug。

要修复,请:

  1. 删除已安装的任何版本的AWS CLI,并使用Pip重新安装。这可能意味着运行apt remove awscli && pip install awscli
  2. ......或者,如果由于某种原因你不能这样做:

    1. 降级通过运行pip uninstall requests && pip install requests==2.12pip3 uninstall requests && pip3 install requests==2.12,根据https://github.com/boto/botocore/issues/1258#issuecomment-331746809的版本2.12与旧版AWS CLI兼容的请求。
    2. 我认为这个问题是fixed as of botocore v1.11.0,所以最终,一旦Apt的存储库中的awscli版本使用了botocore版本> = v1.11.0,这个bug就会消失。