[Python] Python 無法 import zlib?

[Python] Python 無法 import zlib?

今天自己在 CentOS 7 上編譯了舊的 Python 2.6,

不過編譯好的 python 卻無法 import zlib 模組…

root@localhost ~ # ./python26/bin/python -c "import zlib"
Traceback (most recent call last):
File "<string>", line 1, in <module>
ImportError: No module named zlib

 

嗯… 真是怪異了,我用過的 python 還沒看過不能 import zlib 的…

後來在 stackoverflow: python setuptools installation in centos 找到了解答,

原來是要先安裝 zlib-devel 這個套件,之後編譯 python 才會支援 zlib~ 

若是沒有的話,在編譯 python 的過程中會有找不到 zlib 的訊息,

但仍然可以完成編譯,只是缺少了這個功能…

Failed to find the necessary bits to build these modules:
_bsddb             _curses            _curses_panel
_hashlib           _sqlite3           _ssl
_tkinter           bsddb185           bz2
dbm                dl                 gdbm
imageop            linuxaudiodev      ossaudiodev
readline           sunaudiodev        zlib

  

1. 安裝 zlib-devel

用 yum 安裝 zlib-devel:

yum -y install zlib-devel

 

2. 編譯 Python

用下列的指令編譯 python:

./configure --prefix=/root/python26 --with-threads
make && make install

 

這時再去跑編譯好的 python,已經可以 import zlib 了~

root@localhost ~ # ./python26/bin/python -c "import zlib"
root@localhost ~ #

 

(本頁面已被瀏覽過 819 次)

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料