python第三方模块代码,Python2.7 源码编译并集成第三方python模块

由于redhat5的python版本比较低,很多新的第三方python包及新功能都无法使用,所以需要升级系统自带python版本,打算升级到python2.7.4,并集成进去一些业务常用的第三方模块。

python安装

1    源码下载

在官网下载Python-2.7.4.tgz

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了

3    安装MySQL-python第三方模块

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

进行到第四步的时候,报错如下

8b6bf70df002f0ef6e91b98f85557077.png

原因是在源码编译python2.7的时候,没有打开SSL选项,修改python2.7源码目录的Python-2.7.4/Modules/Setup.dist文件,然后重新源码编译python2.7

#取消下面四行的注视

SSL=/usr/local/ssl

_ssl _ssl.c \

-DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \

-L$(SSL)/lib -lssl -lcrypto

重新编译python2.7,参照第2步骤

在编译主机上需要安装mysql-devel包

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/

验证

cf9ad65a11effd010e4baf371320a9c0.png

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

进行到第四步的时候,报错如下

9a1111b540fc278ae7bdcfd2592ecb04.png

找不到本地oracle,查阅相关资料后,才知道在编译cx_Oracle的时候,会在本地搜索oracle客户端lib库,如果找不到就不报如上错误,那就只能先安装oracle客户端了,还好oracle官网有rpm包,下载下来直接安装

1118a4b1ea2ce2f89af29381859877ce.png

安装完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/

53a217512a68c1c9125884f3de9a3079.png

看起来没啥问题了,验证一下

03f9eddbcdf86604b5403fbd17ea4b7d.png

这神马情况,查阅一番,发现没设置LD_LIBRARY_PATH

export LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib/

71b4e5efdb8fb7ba0dc0ede24ccb0d20.png

5把/opt/programs/python2.7的目录做成rpm包,然后就可以在其他机器上安装了,不过因为加入了mysql和oracle的第三方库,所以在其他机器安装该python2.7的rpm包时也需要这些数据库的dev开发包。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值