文档章节

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

China_OS
 China_OS
发布于 2014/09/16 10:29
字数 645
阅读 4988
收藏 4

    由于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
        进行到第四步的时候,报错如下


      原因是在源码编译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/
        验证


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




© 著作权归作者所有

共有 人打赏支持
上一篇: saltstack实战-1
下一篇: Nginx RPM包SPEC文件
China_OS
粉丝 414
博文 453
码字总数 511906
作品 0
静安
技术主管
私信 提问
几行代码抓取百度首页

python中源码位置(以urllib为例): python中自带的模块: /usr/lib/python3.5/urllib/request.py(python3) /usr/lib/python2.7/urllib2.py(python2) python的第三方模块: /usr/local/lib/pyth......

大陌
2017/11/04
0
0
OpenCV MacOS源码安装

在Mac上折腾了一天的OpenCV源码安装,记录一下备忘 正常的步骤: 按照说明文档,下载源码,解压,进入目录 mkdir release cd release cmake -D BUILD_TESTS=OFF .. make -j8 sudo make inst...

TinkerS
2012/08/06
0
0
linux机器升级python版本至2.7.13

背景:刚申请的机器python版本是2.6的,需要手动升级到2.7.13版本; 步骤: 1 下载python2.7.13版本的源码包 wget http://python.org/ftp/python/2.7.13/Python-2.7.13.tgz --no-check-cert...

M玺
04/20
0
0
Centos6.5_X86_64安装python2.7

1.下载python2.7源码包:https://www.python.org/ftp/python/2.7.8/Python-2.7.8.tgz 2.安装编译环境:yum groupinstall "Development Tools" 3.解压,编译安装 #tar zxvf Python-2.7.8.tgz......

jk409
2014/12/08
0
0
Python学习日记六(Python连接MySql)

一.准备工作(下载MySQL-python和python安装包 ) Python需要连接mysql,需要下载Python MySQLdb模块,这里提供几个链接地址: MySQL-python官网下载地址 :https://pypi.python.org/pypi/My...

HaleyLiu
04/12
0
0

没有更多内容

加载失败,请刷新页面

加载更多

码云项目100,水一发

简单回顾一下: 早期构想最多的,是希望能将PHP一些类和编码分区做得更细,所以很多尝试。但不得不说,PHP的功能过于单一,是的,也许写C/C++扩展,可以解决问题,那我为什么不用C#或者Golan...

曾建凯
今天
3
0
Spring应用学习——AOP

1. AOP 1. AOP:即面向切面编程,采用横向抽取机制,取代了传统的继承体系的重复代码问题,如下图所示,性能监控、日志记录等代码围绕业务逻辑代码,而这部分代码是一个高度重复的代码,也就...

江左煤郎
今天
4
0
eclipse的版本

Eclipse各版本代号一览表 Eclipse的设计思想是:一切皆插件。Eclipse核心很小,其它所有功能都以插件的形式附加于Eclipse核心之上。 Eclipse基本内核包括:图形API(SWT/Jface),Java开发环...

mdoo
今天
3
0
SpringBoot源码:启动过程分析(一)

本文主要分析 SpringBoot 的启动过程。 SpringBoot的版本为:2.1.0 release,最新版本。 一.时序图 还是老套路,先把分析过程的时序图摆出来:时序图-SpringBoot2.10启动分析 二.源码分析 首...

Jacktanger
今天
6
0
小白带你认识netty(二)之netty服务端启动(上)

上一章 中的标准netty启动代码中,ServerBootstrap到底是如何启动的呢?这一章我们来瞅下。 server.group(bossGroup, workGroup);server.channel(NioServerSocketChannel.class).optio...

天空小小
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部