- 我有一台运行 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。安装软件包后,运行./configure
Python 即可检测到所有库,然后make && make altinstall
链接它们。
答案3
您尝试执行 zlib 的示例并不表明 zlib 存在(或不存在)...仅表明 zlib 命令不存在。
zlib 只是一个例程库。
您需要查看的是所有程序需要安装和使用哪个版本的 zlib。我怀疑错误的程序要么在错误的地方查找,要么需要与安装的版本不同的版本,要么需要它的程序很旧并且需要升级。