因为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开发包。