我试图在这个python 2.4.3上安装simplejson - 我无法升级,我知道它已经老了,我无能为力,这不是我的错,请帮助。但是,当我执行.. \ python.exe。\ setup.py install我得到:
File "C:\Program Files (x86)\WorldViz\Vizard30\bin\lib\zipfile.py", line 188, in __init__ raise RuntimeError,\
RuntimeError: Compression requires the (missing) zlib module
有谁知道如何在这台Windows 64机器上安装zlib?或者我可以在哪里获得simplejson的编译版本,或者在哪里可以找到兼容的替代品。
同样,我对python 2.4.3无能为力 - 它是python的专有修改版本,我无法做到。
答案 0 :(得分:3)
将.py文件复制到site-packages中可以获得一些工作 - 特别是你可以从未压缩的zip存档中读取文件,但是你无法对压缩文件进行扩充。您遇到的问题是./config没有找到zlib.so(或可能是zlib.h),它希望找到它并跳过它。这是在最近的Ubuntu盒子(Natty Narwhal - 特别是11.0)上编译旧版本Python(2.6之前版本)的一个问题,因为Canonical将/ lib目录内容重组为更好(对于他们)支持多种体系结构。所以config正在寻找文件/lib/libz.so,它位于/usr/lib/i386-linux-gnu/libz.so(或其他一些/ usr / lib / $ ARCH /目录,具体取决于您的机器)。
应该可以通过导出shell变量来告诉config其他目录进行搜索。我无法让它工作。什么工作是讨厌的黑客
ln -s /usr/lib/i386-linux-gnu/libz.so /lib/libz.so
标准库的其他部分配置考虑受此影响的可选项,但我没有时间跟踪它们。在你做“make”之后做一个“make test”,最后它会列出Linux上没有找到的软件包。
答案 1 :(得分:0)
zlib
模块位于标准库中,我在Python Package Index上看不到可单独安装的版本。它实际上是Python不可或缺的部分,因为如果将库作为ZIP文件分发,Python就无法在没有它的情况下运行自己的标准库,因此如果缺少它,这必须是非常自定义的Python。你可以从另一个目录中的源代码和zlib的库文件中构建普通的Python,然后复制zlib.so
文件以查看它是否会链接到你正在使用的这个疯狂的Python?
编辑:而且,想一想,为什么需要simplejson的编译版本?普通的Python版本还不够吗?
编辑:以下是我如何安装simplejson
而不试图让其加速器例程进行编译:
$ wget http://pypi.python.org/packages/source/s/simplejson/simplejson-2.1.1.tar.gz
$ tar xvfz simplejson-2.1.1.tar.gz
$ cd simplejson-2.1.1
$ cp -r simplejson /usr/lib/python2.4/site-packages
前三个步骤都可以在其他系统上进行,当然您只能使用Web浏览器而不是wget
。但问题是,您可以将整个simplejson
目录从.tar.gz
内部复制到site-packages
中,它应该可以正常运行。这是一种手动安装的混乱方式,但它肯定不会依赖于任何其他依赖项! : - )