Python2.7 源碼編譯並集成第三方python模塊

    因爲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開發包。

相關文章
相關標籤/搜索