导航

Boto 问题及解决

Posted on 2015-02-12 10:36  FryFish  阅读(267)  评论(0)    收藏  举报

>> 服务连接失败

问题情境:通过 AWS Boto API 连接 S3 服务。

现象一:程序抛出异常:CERTIFICATE_VERIFY_FAILED

现象二:提示连接失败:error: [Errno 10060]

分析及排查:

1. 发现同样的程序对 Python 3.4 可正常执行,而 2.7 会报错。

2. 把 Python 2.7 中的证书文件(C:\Program Files\Python27\Lib\site-packages\boto-2.36.0-py2.7.egg\boto\cacerts\cacerts.txt)拷贝到源码文件夹下,并在配置文件(boto.config)中修改证书文件属性“ca_certificates_file” 后问题消失。

3. Python 2.7 和 3.4 下的证书文件完全相同。

问题解决:基于如上情况综合分析和确认后判断问题原因可能是因为 Python 2.7 安装路径中包含空格(而 Python 3.4 中已解决此 Bug)。卸载 Python 2.7,并重装到不包含空格的路径后问题解决。