Python 2.5 zlib 问题
我正在尝试在谷歌应用引擎上部署一个应用,这个应用是用一个叫做Bottle的微框架写的,类似于Flask。我在使用的是Ubuntu系统,里面自带了Python 2.7,但谷歌应用引擎需要的是2.5版本,所以我安装了2.5版本。然后我意识到我没有使用make altinstall命令,这可能导致了我现在的默认版本问题。不过我真正的问题是,当我尝试用谷歌应用引擎的服务器在本地测试时,出现了以下错误:
Traceback (most recent call last):
File "/opt/google/appengine/dev_appserver.py", line 77, in <module>
run_file(__file__, globals())
File "/opt/google/appengine/dev_appserver.py", line 73, in run_file
execfile(script_path, globals_)
File "/opt/google/appengine/google/appengine/tools/
dev_appserver_main.py", line 156, in <module>
from google.appengine.tools import dev_appserver
File "/opt/google/appengine/google/appengine/tools/
dev_appserver.py", line 94, in <module>
import zlib
ImportError: 没有名为zlib的模块
你能帮我解决这个问题吗?
2 个回答
0
在我发现只要不使用任何Python 2.5之后的语言特性或包(或者包的扩展),用Python 2.5之后的版本其实也能正常工作之前,我写了一篇关于如何在Ubuntu上安装Python 2.5的教程,可以在这里找到。这个教程里还包括了你需要的zlib部分。
现在我很高兴地在Ubuntu上使用Python 2.6.5(搭配SDK 1.5.4)进行开发。
1
你是怎么构建Python 2.5的?如果你是自己从源代码编译的,那么很有可能是因为你的系统上没有安装必要的库和头文件,导致zlib
模块没有被构建出来。
在Ubuntu系统上,你需要安装zlib1g-dev
这个软件包。
其他一些模块也是这样,比如如果没有合适的OpenSSL开发库和头文件,你也无法得到ssl
模块。
另外,可能有人为你的Ubuntu版本提供了python2.5
的软件包(不过在官方的库里,Natty和Maverick似乎都没有这个包)。