檢視CentOS編譯安裝 Python 缺少的子產品
yum -y update
yum groupinstall -y ‘development tools’
wget https://www.python.org/ftp/python/2.7.9/Python-2.7.9.tgz
tar -xzf Python-2.7.9.tgz
cd Python-2.7.9
# 運作配置 configure(–help 參數檢視幫助)
./configure –prefix=/usr/local –with-threads –enable-shared
# 編譯:
make
# 編譯完顯示缺少一些子產品:
ython build finished, but the necessary bits to build these modules were not found:
_bsddb _curses _curses_panel
_sqlite3 _ssl _tkinter
bsddb185 bz2 dbm
dl gdbm imageop
readline sunaudiodev zlib
To find the necessary bits, look in setup.py in detect_modules() for the module’s name.
http://blog.useasp.net/archive/2014/05/07/compile-and-install-python-2-dot-7-dot-6-on-centos.aspx
子產品 | 依賴 | 說明 |
---|---|---|
_bsddbbsddb | Interface to Berkeley DB library。 | Berkeley資料庫的接口 |
_curses | ncurses | Terminal handling for character-cell displays。 |
_curses_panel | ncurses | A panel stack extension for curses。 |
_sqlite3 | sqlite | DB-API 2.0 interface for SQLite databases。SqlLite,CentOS可以安裝sqlite-devel |
_ssl | openssl-devel.i686 | TLS/SSL wrapper for socket objects。 |
_tkinter | N/A | a thin object-oriented layer on top of Tcl/Tk。如果不使用桌面程式可以忽略TKinter |
bsddb185 | old bsddb module | 老的bsddb子產品,可忽略。 |
bz2 | bzip2-devel.i686 | Compression compatible with bzip2。bzip2-devel |
dbm | bsddb | Simple “database” interface。 |
dl | N/A | Call C functions in shared objects.Python2.6開始,已經棄用。 |
gdbm | gdbm-devel.i686 | GNU’s reinterpretation of dbm |
imageop | N/A | Manipulate raw image data。已經棄用。 |
readline | readline-devel | GNU readline interface |
sunaudiodev | N/A | Access to Sun audio hardware。這個是針對Sun平台的,CentOS下可以忽略 |
zlib | Zlib | Compression compatible with gzip |
# 在CentOS下,可以安裝這些依賴包:ncurses-libs,sqlite-devel,openssl-devel,bzip2-devel,gdbm-devel,libdbi-devel,zlib-devel,readline-devel
yum -y install ncurses-libs sqlite-devel openssl-devel bzip2-devel gdbm-devel libdbi-devel zlib-devel readline-devel
# 什麼是 i386, i586, i686, noarch, x86_64
http://linux.vbird.org/linux_basic/0520rpm_and_srpm.php#intro_i386586
# 可以再次編譯并安裝
make
make altinstall