我有Karmic Koala,默认安装了Python 2.6。
但是我无法运行任何Python App Engine项目,因为它们需要Python 2.5和python ssl。
要安装ssl,我首先安装python2.5-dev,同时关注some instructions I found elsewhere。
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安装不利,因为当你在命令行输入'python'时,Ubuntu希望看到Python的2.6版本。相反,它说'2.5.5'。
但是App Engine仍然无法运行。每当我尝试运行我的Python应用程序时,我都会继续收到与SSL相关的错误:
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'时,我得到了Python 2.6.4。
但这并不能解决我的App Engine SSL问题。
如果有人知道如何从这个洞中挖掘自己,我会很感激。
答案 0 :(得分:2)
您应该能够简单地安装Ubuntu的Python 2.5标准副本。 SSL模块不是必需的 - 正如警告消息所示,如果您想进行证书验证,则必须这样做,但这就是全部。
缺少'HTTPSHandler'时出现的错误可能是由于安装了一个没有SSL支持而编译的Python版本(这与ssl 模块无关,这是什么证书验证) - 再次尝试安装标准版本。
就版本选择而言,安装Python 2.5不应该与默认系统版本相关 - 有一个选择器工具可以选择默认的版本 - 所以你可以使用'python2.5 dev_appserver运行dev_appserver等。 PY”。
答案 1 :(得分:2)
在Ubuntu 9.10上,一个简单的sudo aptitude install python2.5
应该可以解决问题,然后通过预先python2.5
来调用脚本,如下所示:
python2.5 google_appengine/dev_appserver.py ...
在Ubuntu 10.04上,这是一个很大的不同,因为Python 2.5不再存在于存储库中...这意味着从源代码安装,并且必须这样做,我可以告诉你它并不好笑。它只是让你希望谷歌继续前进issue 757。
安装SSL 2.5的SSL支持是相同的,无论是从repos安装还是从源代码编译。只需下载SSL lib for 2.5,将其解包,然后运行
sudo python2.5 setup.py install
编辑: Comment 51之前引用的问题详细解释了如何在Ubuntu 10.04上安装Python 2.5。如你所见,这真的很麻烦!