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

Lin*_*inc 5 python ssl google-app-engine ubuntu-9.10

我有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
Run Code Online (Sandbox Code Playgroud)

但是,我担心这对我的Ubuntu安装不利,因为当你在命令行输入'python'时,Ubuntu希望看到Python的2.6版本.相反,它说'2.5.5'.

但是App Engine仍然无法工作.每当我尝试运行我的Python应用程序时,我都会继续遇到与SSL相关的错误:

AttributeError: 'module' object has no attribute 'HTTPSHandler'
Run Code Online (Sandbox Code Playgroud)

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
>>> 
Run Code Online (Sandbox Code Playgroud)

如您所见,SSL仍未安装,这解释了持续的App Engine错误.

UPDATE2:

我试图通过这样做恢复到Python的原始默认版本:

sudo ln -s /usr/bin/python2.6 python
Run Code Online (Sandbox Code Playgroud)

在我的/usr/bin/local文件夹中.

现在我在命令行输入'python'时得到Python 2.6.4.

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

如果有人知道如何从这个洞中挖掘自己,我会很感激.

Nic*_*son 2

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

缺少“HTTPSHandler”的错误可能是由于安装了没有 SSL 支持的 Python 版本(这独立于 ssl 模块而 ssl 模块负责证书验证) - 再次尝试安装标准版本。

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