5

我有一个带有 Debian 7.1 的虚拟 Linux 机器,我需要一个 Python 2.4.6 来重新激活旧的 Zope 安装(当然是为了将其更新到 Plone 4)。

我绝对需要ssl支持,当我编译时,我readline当然也想要。最后,我当然需要zlib,否则ez_setup.py等将不起作用;我很难被zlib包括在内。

我下载了 Python 2.4.6 的压缩包,sslModules/Setup.dist

SSL=/usr/local/ssl
_ssl _ssl.c \
        -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
        -L$(SSL)/lib -lssl -lcrypto

...并调用:

./configure  --prefix=/my/dest/dir --with-zlib
make

makecrypt最后给了我一些关于and的警告nis,但make install没有产生任何错误。但是,生成的 Python 功能readlinessl支持,但没有zlib;因此,我不能ez_setup.py用来获取 setuptools/pip 等。

我尝试取消注释并重新排除该行

zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz

Setup.dist.

已安装的一些系统包:

  • zlib1g-dev
  • lib32z1-dev
  • libreadline-gplv2-dev

还有什么我错过的吗?

更新,阅读https://stackoverflow.com/a/4047583/1051649后:

我做了

$ sudo apt-get install zlib1g zlib1g-dev libncurses5-dev libreadline6-dev ncurses-doc
$ python setup.py clean
$ ./configure --with-ssl --with-zlib --prefix=...
$ make
$ sudo make install

结果解释器无法执行distribute_setup.py

4

1 回答 1

11

我在这里找到了解决方案:

我改变了setup.py,寻找 lib_dirs 变量的第一个分配,改变它像这样:

lib_dirs = self.compiler.library_dirs + [
'/lib64', '/usr/lib64',
'/lib', '/usr/lib',
'/usr/lib/x86_64-linux-gnu',   # added
'/usr/lib/i386-linux-gnu',     # added
]

然后我重复了整个过程,从 开始setup.py clean,它起作用了。

于 2013-09-04T11:40:43.373 回答