【问题标题】:How to compile Python 2.4.6 with ssl, readline and zlib on Debian Lenny如何在 Debian Lenny 上使用 ssl、readline 和 zlib 编译 Python 2.4.6
【发布时间】:2013-09-02 05:48:03
【问题描述】:

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

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

我下载了 Python 2.4.6 的压缩包,在Modules/Setup.dist 中启用了ssl

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

make 最后给了我一些关于cryptnis 的警告,但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

【问题讨论】:

    标签: python linux ssl debian zlib


    【解决方案1】:

    我找到了解决方案here

    我改了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 开始,它成功了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多