我正在研究RHEL系统。我在我的系统上安装了两个版本的Python:Python 2.4和Python 2.7,但我在.bashrc文件中创建了一个别名,以便python命令提示Python 2.7而不是Python 2.4。
我需要在我的系统中安装zlib。我尝试使用yum命令安装它: yum install zlib yum install zlib-devel 两者都工作正常,但是当我键入“python”时,我仍然看不到安装zlib:
[root@mymachine]# python
Python 2.7 (r27:82500, Jan 18 2012, 17:03:29)
[GCC 4.1.2 20080704 (Red Hat 4.1.2-51)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import zlib
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named zlib
但是如果我从Python 2.4导入zlib,它就可以了!为什么?我需要使用Python 2.7安装zlib。我怎样才能做到这一点?先感谢您!
答案 0 :(得分:2)
通常,您只能在yum存储库中找到默认Python版本的RPM,但是这不应该真正适用于此,因为默认情况下应该在Python 2.7安装中安装zlib。
使用sys.path
检查import sys; print sys.path
并确保您拥有用于Python 2.7安装的lib目录,无论您在.bashrc中执行什么操作都可能导致您获取Python 2.4环境。
以下是我的zlib
模块的位置,这可能对尝试追踪您的位置非常有用,因此您可以确保它位于sys.path
上。
>>> import zlib
>>> zlib
<module 'zlib' from '/usr/local/lib/python2.7/lib-dynload/zlib.so'>
如果找不到,那么你应该重新安装Python 2.7。
答案 1 :(得分:1)
zlib
和zlib-devel
包分别是C共享和开发库;您在Python 2.4中导入的zlib
是python-libs
包中附带的$ rpm -qf /usr/lib64/python2.4/lib-dynload/zlibmodule.so
python-libs-2.4.3-46.el5
:
zlib
我不知道你从哪里获得Python 2.7,但是zlib
是part of the standard library - 它应该是用Python构建的。您需要获取一个针对Python 2.7构建的{{1}}模块。