Как настроить несколько установок Ubuntu Python, чтобы избежать ошибки SSL в App Engine? - PullRequest
5 голосов
/ 01 мая 2010

У меня Karmic Koala, на котором установлен Python 2.6 по умолчанию.

Однако я не могу запустить какие-либо проекты Python App Engine, потому что они требуют Python 2.5 и Python ssl.

Чтобы установить ssl, я сначала установил python2.5-dev, следуя некоторым инструкциям, которые я нашел в других местах .

sudo apt-get install libssl-dev
sudo apt-get install python-setuptools
sudo apt-get install python2.5-dev 
sudo easy_install-2.5 pyopenssl

Однако, я боюсь, что это плохо для моей установки Ubuntu, так как Ubuntu ожидает увидеть версию 2.6 Python при вводе 'python' в командной строке. Вместо этого написано «2.5.5».

Но App Engine все еще не работает после всего этого. Я продолжаю получать ошибку, связанную с SSL, всякий раз, когда я пытаюсь запустить свое приложение Python:

AttributeError: 'module' object has no attribute 'HTTPSHandler'

UPDATE1: просто проверил, установлен ли SSL в результате этих команд, набрав:

$ python2.5
Python 2.5.5 (r255:77872, Apr 29 2010, 23:59:20) 
[GCC 4.4.1] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import ssl
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named ssl
>>> 

Как видите, SSL все еще не установлен, что объясняет продолжающуюся ошибку App Engine.

UPDATE2:

Я попытался вернуться к исходной версии Python по умолчанию, выполнив следующее:

sudo ln -s /usr/bin/python2.6 python

в моей папке /usr/bin/local.

Теперь я получаю Python 2.6.4, когда набираю 'python' в командной строке.

Но это не решает мою проблему с App Engine SSL.

Если кто-нибудь знает, как я могу выкопать себя из этой ямы, я был бы признателен.

Ответы [ 2 ]

2 голосов
/ 02 мая 2010

В Ubuntu 9.10 простой sudo aptitude install python2.5 должен сделать свое дело, а затем просто вызвать сценарии, добавив python2.5, например:

python2.5 google_appengine/dev_appserver.py ...

В Ubuntu 10.04, однако, это сильно отличается, так как Python 2.5 больше не находится в репозиториях ... Это означает установку из исходного кода, и из-за необходимости сделать это, я могу сказать, что это не смешно. Это только заставляет вас желать, чтобы Google перешел на выпуск 757 .

Установка поддержки SSL для Python 2.5 одинакова, независимо от того, установлена ​​она из репозиториев или скомпилирована из исходного кода. Просто скачайте SSL lib для 2.5 , распакуйте его и запустите

sudo python2.5 setup.py install

Редактировать: Комментарий 51 к ранее упомянутой проблеме подробно объясняет, как установить Python 2.5 на Ubuntu 10.04. Как видите, это действительно громоздко!

2 голосов
/ 01 мая 2010

Вы должны иметь возможность просто установить стандартную копию Ubuntu Python 2.5. Модуль SSL не является обязательным - как говорится в предупреждающем сообщении, он необходим, если вы хотите выполнить проверку сертификата, но это все.

Ошибка, которую вы получаете с отсутствующим HTTPSHandler, возможно, связана с установкой версии Python, которая была скомпилирована без поддержки SSL (это не зависит от модуля ssl , что и делает сертификат проверка) - снова попробуйте установить стандартную версию.

Что касается выбора версии, установка Python 2.5 не должна мешать версии системы по умолчанию - есть инструмент выбора для выбора версии по умолчанию - так что вы можете просто запустить dev_appserver и т. Д. С помощью 'python2.5 dev_appserver. ру».

...