Фон
"В среде выполнения Python мы добавили поддержку Python SSL Библиотека, поэтому теперь вы можете открывать защищенные соединения с удаленными службами например, служба уведомления Apple Push."
Эта цитата взята из недавнего сообщения в блоге Google App Engine.
Реализация
Если вы хотите использовать собственный python ssl, вы должны включить его, используя конфигурацию библиотек в вашем приложении app.yaml, где вы укажете имя библиотеки "ssl".,
Эти инструкции предоставляются разработчикам с помощью документации Google App Engine.
В файл app.yaml
добавлены следующие строки:
libraries:
- name: ssl
version: latest
Это в значительной степени соответствует советам, предоставленным с помощью документации Google App Engine.
Проблема
Я попытался запустить проект в трех разных конфигурациях. Два работают, а другой нет.
Работает...
После того, как я загружу свое приложение в Google App Engine и запускаю свой проект через живой сервер, все работает нормально.
Работает...
Когда я запускаю проект с manage.py runserver
и включаю SKD в Google App Engine в моем PYTHONPATH
, все работает нормально.
Не работает...
Однако, когда я запускаю проект с помощью dev_appserver.py
, я получаю следующую ошибку:
ImportError at /
No module named _ssl
Request Method: GET
Request URL: http://localhost:8080/
Django Version: 1.4.3
Exception Type: ImportError
Exception Value:
No module named _ssl
Exception Location: /usr/local/lib/google_appengine_1.7.7/google/appengine/tools/devappserver2/python/sandbox.py in load_module, line 856
Python Executable: /home/rbose85/Code/venvs/appserver/bin/python
Python Version: 2.7.3
Python Path:
['/home/rbose85/Code/product/site',
'/usr/local/lib/google_appengine_1.7.7',
'/usr/local/lib/google_appengine_1.7.7/lib/protorpc',
'/usr/local/lib/google_appengine_1.7.7',
'/usr/local/lib/google_appengine_1.7.7',
'/usr/local/lib/google_appengine_1.7.7/lib/protorpc',
'/usr/local/lib/google_appengine_1.7.7',
'/usr/local/lib/google_appengine_1.7.7/lib/protorpc',
'/home/rbose85/Code/venvs/appserver/lib/python2.7',
'/home/rbose85/Code/venvs/appserver/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/local/lib/google_appengine',
u'/usr/local/lib/google_appengine_1.7.7/lib/django-1.4',
u'/usr/local/lib/google_appengine_1.7.7/lib/ssl-2.7',
u'/usr/local/lib/google_appengine_1.7.7/lib/webapp2-2.3',
u'/usr/local/lib/google_appengine_1.7.7/lib/webob-1.1.1',
u'/usr/local/lib/google_appengine_1.7.7/lib/yaml-3.10']
Server time: Wed, 24 Apr 2013 11:23:49 +0000