在 SL6 上安装 Python 2.7.3 的 setuptools 时,会返回错误,提示我没有 zlib。但我有

在 SL6 上安装 Python 2.7.3 的 setuptools 时,会返回错误,提示我没有 zlib。但我有
  • 我有一台运行 Scientific Linux 6 的机器
  • 默认搭载 Python 2.6
  • 我还安装了 Python 2.7.3,因为我需要运行一些仅适用于最新版本的模块。这运行良好。
  • 我需要为 Python 2.7.3 安装更多库
  • 我正在尝试安装 setuptools 以获取这些模块

[root@sa09b tmp]# wgethttp://peak.telecommunity.com/dist/ez_setup.py

[root@sa09b tmp]# python2.7 ez_setup.py 正在下载

http://pypi.python.org/packages/2.7/s/setuptools/setuptools-0.6c11-py2.7.egg

回溯(最近一次调用):文件“ez_setup.py”,第 278 行,

main(sys.argv[1:]) 文件“ez_setup.py”,第 212 行,在主文件中

从 setuptools.command.easy_install 导入 main

zipimport.ZipImportError:无法解压缩数据;zlib 不可用

哦?我以为我已经安装了。

[root@sa09b tmp]# yum install zlib 已加载插件:fastestmirror、refresh-packagekit、security

从缓存的主机文件加载镜像速度

  • sl: ftp1.scientificlinux.org

  • sl-安全:ftp1.scientificlinux.org

设置安装过程

软件包 zlib-1.2.3-27.el6.x86_64 已安装且为最新版本

没事做

  • 所以我查阅了各种论坛
  • 大多数人告诉我安装 zlib-devel(完成“软件包 zlib-devel-1.2.3-27.el6.x86_64 已安装且为最新版本”)、zlib1g(“没有可用的软件包 zlib1g。”)、zlib1g-devel(与之前相同)。

有任何想法吗?

:-)


编辑:

[root@sa09b tmp]# zlib

-bash: zlib: command not found

难道就这样吗?


编辑2:

  • 因此失败的行是“来自setuptools.command.easy_install导入main”
  • 我认为这是因为带有 setuptools 的 .egg 文件需要用 zlib 提取
  • 我尝试安装 pip,但这也需要 setuptools。
  • 由于某些原因,我无法使用 easy_install-2.7。但是 easy_install 2.6 可以正常工作。

编辑3:

尽管 yum 说已安装,但“find”实际上无法在系统中找到除了 python 之外与 zlib 相关的任何内容。

[root@sa09b pip-1.2.1]# find / -name zlib
/tmp/Python-2.7.3/Demo/zlib
/tmp/Python-2.7.3/Modules/zlib

答案1

我从另一个 stackoverflow 用户那里找到了答案。

基本上,您只需将 zlib pre gcc 从 2.6 复制到 2.7 即可:

cp /usr/lib64/python2.6/lib-dynload/zlibmodule.so /usr/local/lib/python2.7/lib-dynload/zlibmodule.so

但仍然很黑客化。

答案2

我遇到过类似的问题。就我而言,问题是我必须zlib-devel同时安装其他软件包(请参阅此处http://toomuchdata.com/2014/02/16/how-to-install-python-on-centos/),然后再构建 Python-2.7。安装软件包后,运行./configurePython 即可检测到所有库,然后make && make altinstall链接它们。

答案3

您尝试执行 zlib 的示例并不表明 zlib 存在(或不存在)...仅表明 zlib 命令不存在。

zlib 只是一个例程库。

您需要查看的是所有程序需要安装和使用哪个版本的 zlib。我怀疑错误的程序要么在错误的地方查找,要么需要与安装的版本不同的版本,要么需要它的程序很旧并且需要升级。

相关内容