我有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安装不利,因为在命令行上键入“ python”时,Ubuntu希望看到2.6版的Python。而是显示“ 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文件夹中。
/usr/bin/local
现在,当我在命令行中键入“ python”时,我得到了Python 2.6.4。
但这不能解决我的App Engine SSL问题。
如果有人知道我如何从这个洞中挖掘自己,我将不胜感激。
您应该能够简单地安装Ubuntu的Python 2.5标准副本。SSL模块不是必需的-如警告消息所述,如果要进行证书验证,则很有必要,仅此而已。
由于缺少“ HTTPSHandler”而导致的错误可能是由于安装了没有SSL支持而编译的Python版本(这与ssl 模块 无关,这是证书验证的工作)-再次,尝试安装标准版。
就版本选择而言,安装Python 2.5不应干扰默认的系统版本-有一个选择器工具可以选择默认的版本-因此您可以简单地使用“ python2.5 dev_appserver.py”运行dev_appserver等。