2012-03-15 134 views
1

我正在使用RHEL系統。我的系統上安裝了兩個Python版本:Python 2.4和Python 2.7,但我在.bashrc文件中創建了一個別名,以便python命令提示Python 2.7而不是Python 2.4。zlib無法使用yum進行安裝

我需要在我的系統中安裝zlib。我嘗試使用yum命令安裝: 百勝安裝的zlib 百勝安裝的zlib-devel的 都工作得很好,但是當我鍵入「蟒蛇」,我仍然無法看到已經安裝的zlib:

[[email protected]]# 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。我怎樣才能做到這一點?先謝謝你!

回答

2

通常,您只能在yum存儲庫中找到默認Python版本的RPM,不過這應該不適用於此,因爲zlib應該默認安裝在您的Python 2.7安裝中。

檢查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。

+0

我找到了python2.7/lib-dynload /的目錄,並找不到zlib.so. zlibmodule.so位於python2.4/lib-dyload /目錄中。無論如何,我想我應該重新安裝python2.7。謝謝。 – fanchyna 2012-03-16 15:04:13

1

zlibzlib-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 

我不知道從何處取得你的Python 2.7,但zlibpart of the standard library --IT應已建成蟒蛇。您將需要獲得一個針對Python 2.7構建的zlib模塊。

+0

你說得對,zlib是Python 2.7的一部分,但是我沒有找到來自Python 2.7 lib dir的zlib。我想我會重新安裝它。謝謝。 – fanchyna 2012-03-16 15:05:12