因爲redhat5的python版本比較低,不少新的第三方python包及新功能都沒法使用,因此須要升級系統自帶python版本,打算升級到python2.7.4,並集成進去一些業務經常使用的第三方模塊。 python
python安裝 mysql
1 源碼下載 sql
在官網下載Python-2.7.4.tgz shell
2 源碼安裝,安裝目錄/opt/programs/python_2.7.4 數據庫
tar zxvf Python-2.7.4.tgz cd Python-2.7.4 ./configure --prefix=/opt/programs/python_2.7.4 make make install ln -s /opt/programs/python_2.7.4/bin/python2.7 /usr/bin/python2.7
這樣在/opt/programs/python_2.7.4目錄下已經安裝python2.7了
oracle
3 安裝MySQL-python第三方模塊 python2.7
wget 'http://nchc.dl.sourceforge.net/project/mysql-python/mysql-python-test/1.2.4b4/MySQL-python-1.2.4b4.tar.gz' tar zxvf MySQL-python-1.2.4b4.tar.gz cd MySQL-python-1.2.4b4 python2.7 setup.py build進行到第四步的時候,報錯以下
緣由是在源碼編譯python2.7的時候,沒有打開SSL選項,修改python2.7源碼目錄的Python-2.7.4/Modules/Setup.dist文件,而後從新源碼編譯python2.7
ui
#取消下面四行的注視 SSL=/usr/local/ssl _ssl _ssl.c \ -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \ -L$(SSL)/lib -lssl -lcrypto
從新編譯python2.7,參照第2步驟 spa
在編譯主機上須要安裝mysql-devel包
.net
yum install mysql-devel
再次編譯安裝mysql-python模塊到/opt/programs/python2.7.4目錄,由於是要集成在python2.7中的
cd MySQL-python-1.2.4b4 python2.7 setup.py build python2.7 setup.py install --prefix=/opt/programs/python_2.7.4/驗證
4 安裝cx-Oracle第三方模塊
wget 'https://pypi.python.org/packages/source/c/cx_Oracle/cx_Oracle-5.1.3.tar.gz#md5=cd6ff16559cbc9c20087ec812c7092ab' tar zxvf cx_Oracle-5.1.3.tar.gz cd cx_Oracle-5.1.3 python2.7 setup.py build
進行到第四步的時候,報錯以下
找不到本地oracle,查閱相關資料後,才知道在編譯cx_Oracle的時候,會在本地搜索oracle客戶端lib庫,若是找不到就不報如上錯誤,那就只能先安裝oracle客戶端了,還好oracle官網有rpm包,下載下來直接安裝
安裝完oracle客戶端以後,要在當前環境設置ORACLE_HOME環境變量,不然仍是會報上面找不到軟件的錯誤
export ORACLE_HOME=/usr/lib/oracle/11.2/client64/
再次編譯安裝cx-Oracle模塊到/opt/programs/python2.7.4目錄,由於是要集成在python2.7中的
cd cx_Oracle-5.1.3 python2.7 setup.py build python2.7 setup.py install --prefix=/opt/programs/python_2.7.4/
看起來沒啥問題了,驗證一下
這神馬狀況,查閱一番,發現沒設置LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib/
5 把/opt/programs/python2.7的目錄作成rpm包,而後就能夠在其餘機器上安裝了,不過由於加入了mysql和oracle的第三方庫,因此在其餘機器安裝該python2.7的rpm包時也須要這些數據庫的dev開發包。