ImportError: No module named _ssl

GoogleAppEngineのローカルデバッグ環境でDropboxSDKを使用した際に以下のエラーが発生した

ERROR    2013-11-02 07:21:59,539 cgi.py:121] Traceback (most recent call last):
 (中略)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ssl.py", line 60, in <module>
    import _ssl             # if we can't import it, let the error propagate
  File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/devappserver2/python/sandbox.py", line 867, in load_module
    raise ImportError('No module named %s' % fullname)
ImportError: No module named _ssl

_ssl」というモジュールがないのが原因のようだがデフォルトではモジュール一覧に含まれていないようなので、 エラーメッセージに書かれている「sandbox.py」を修正する

$ sudo vi /Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/devappserver2/python/sandbox.py

_WHITE_LIST_C_MODULES」に「_ssl」を追加するだけで大丈夫でした。
変更前(754行目辺り)

_WHITE_LIST_C_MODULES = [
     'array',
     '_ast',
     'binascii',
(省略)

変更後

_WHITE_LIST_C_MODULES = [
     '_ssl',
     'array',
     '_ast',
     'binascii',
(省略)

AppEngineのランチャーから再起動すると問題なくDropboxSDKが使えるようになりました。
Windowsの開発環境でも同様の現象が確認できましたが同じ手順で解決。

デプロイするときは「app.yml」に「ssl」を追加します。

libraries:
- name: ssl
  version: "latest"