小编典典

如何配置多个Ubuntu Python安装以避免App Engine的SSL错误?

python

我有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文件夹中。

现在,当我在命令行中键入“ python”时,我得到了Python 2.6.4。

但这不能解决我的App Engine SSL问题。

如果有人知道我如何从这个洞中挖掘自己,我将不胜感激。


阅读 126

收藏
2021-01-20

共1个答案

小编典典

您应该能够简单地安装Ubuntu的Python 2.5标准副本。SSL模块不是必需的-如警告消息所述,如果要进行证书验证,则很有必要,仅此而已。

由于缺少“ HTTPSHandler”而导致的错误可能是由于安装了没有SSL支持而编译的Python版本(这与ssl 模块
无关,这是证书验证的工作)-再次,尝试安装标准版。

就版本选择而言,安装Python 2.5不应干扰默认的系统版本-有一个选择器工具可以选择默认的版本-因此您可以简单地使用“ python2.5
dev_appserver.py”运行dev_appserver等。

2021-01-20