InvalidCertificateException

InvalidCertificateException

尝试在osX Maverics 10.9.5上使用Python2.7.8从GAE SDK 1.95导入测试平台
我收到了 InvalidCertificateException 错误。

    from google.appengine.ext import testbed
  File "/usr/local/google_appengine/google/appengine/ext/testbed/__init__.py", line 120, in <module>
    from google.appengine.api import urlfetch_stub
  File "/usr/local/google_appengine/google/appengine/api/urlfetch_stub.py", line 34, in <module>
    _fancy_urllib_InvalidCertException = fancy_urllib.InvalidCertificateException
AttributeError: 'module' object has no attribute 'InvalidCertificateException'

我查看了fancy_url 模块并且InvalidCertificateException 类在那里,所以我不明白为什么它没有导入。

显然其他人也有同样的错误,所以我尝试通过删除: urlfetch_cacerts.txt AND cacerts.txt 来纠正它:
GoogleAppEngineLauncher/Contents/Resources/GoogleAppEngineDefault.bundle/Content‌​s/Resources/google_appengine/lib/cacerts/

最佳答案

显然 GAE 安装程序创建了一个嵌套目录,这是通过复制以下内容来修复的:

cd /usr/local/google_appengine/lib
cp fancy_urllib/fancy_urllib/__init__.py fancy_urllib/__init__.py

这是模块结构不正确的方式,看起来这两个 init .py 文件是重复的:
/usr/local/google_appengine/lib/fancy_urllib/__init__.py   # this file is empty
/usr/local/google_appengine/lib/fancy_urllib/fancy_urllib/__init__.py # this file contains the functions.

修正了错误

10-07 13:10