centos6 安装python2.7 并做软件兼容处理 及 MySQLdb模块安装
相关软件准备
https://www.python.org/ftp/python/2.7.15/Python-2.7.15.tgz
https://pypi.org/project/setuptools/
https://pypi.org/project/pip/pip-10.0.1.tar.gz
旧版本setuptools下载,建议下载最新的
http://distfiles.macports.org/py-setuptools/
将以上三个包wget到linux系统里,一般放到 /usr/local/src里
在centos6.6默认python版本为2.6,很多东西兼容不好,需要升级为2.7;
1,更新gcc:
yum -y install gcc gcc-c++ automake autoconf
提示 :
Loaded plugins: fastestmirror, refresh-packagekit, security
Existing lock /var/run/yum.pid: another copy is running as pid 7172.
Another app is currently holding the yum lock; waiting for it to exit...
果断删除yum.pid(以root用户):rm /var/run/yum.pid
2,为了安装setuptools,要需要安装zlib:
yum install zlib zlib-devel
2.1,为在python编译时加入ssl模块,yum安装openssl和openssl-devel:
yum install openssl yum install openssl-devel
2.2,为了防止出现 import zlib找不到的情况,复制文件:
cp /usr/lib64/python2.6/lib-dynload/zlibmodule.so /usr/local/lib/python2.7/lib-dynload
3. 下载并解压python, 编辑Modules安装文件
wget https://www.python.org/ftp/python/2.7.15/Python-2.7.15.tgz -O /usr/local/src/Python-2.7.15.tgz
tar xf !$
cd !$
vim Modules/Setup.dist
修改内容如下
# Socket module helper for socket()
_socket socketmodule.c timemodule.c # Socket module helper for SSL support; you must comment out the other
# socket line above, and possibly edit the SSL variable:
#SSL=/usr/local/ssl
_ssl _ssl.c \
-DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
-L$(SSL)/lib -lssl -lcrypto
4,进入python,编译安装:
./configure --prefix=/usr/local
make all
make install
make clean
make distclean
5,把系统自带的2.6移除(依然会保留2.6版本:/usr/bin/python2.6)
rm -f /usr/bin/python
6,把python执行软连接连接到2.7
ln -s /usr/local/bin/python2.7 /usr/bin/python
7,编辑yum命令,把路径指明为2.6,因为yum必须基于2.6版本
vi /usr/bin/yum
把文件头部的
#!/usr/bin/python
改成
#!/usr/bin/python2.
yum只支持2.6,如果不该yum用不了
==================以下为pip的安装部分=================
8,安装setuptools,下载setuptools-18.0.1.tar.gz,解压后,进入setuptools-18.0.1,执行:
python setup.py install
9,安装pip,下载pip-7.1.0.tar.gz,解压后进入pip-7.1.0,执行:
python setup.py install
10,测试pip,如果报错“pkg_resources.DistributionNotFound: The 'pip==7.1.2' distribution was not found and is required by the application”,此时需要修改pip可执行程序:
mv /usr/bin/pip /usr/bin/pip0
cp /usr/bin/pip2.7 /usr/bin/pip
附:MySQLdb模块的安装方法:
简略方法:
pip install MySQL-python
安装后测试:
[root@iZ251ed9ao2Z ~]# python
Python 2.7.11 (default, Oct 18 2016, 09:34:16)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-17)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import MySQLdb
>>>
如果正常,则ok,否则按照以下步骤安装:
1,到官网下载源代码:MySQL-python-1.2.3.tar.gz
2,编译安装:cd MySQL-python-1.2.3 && python setup.py install
3,若出现错误:_mysql.c:2444: error: ‘_mysql_ConnectionObject’ has no member named ‘open’ ,则安装以下包:
yum -y install mysql-devel libxml2 libxml2-dev libxslt* zlib gcc openssl
4,重新编译安装即可。
如果pip install 报错为证书相关的问题,可以参靠下面的链接重新编译
http://www.cnblogs.com/yuechaotian/archive/2013/06/03/3115472.html
centos6 安装python2.7 并做软件兼容处理 及 MySQLdb模块安装的更多相关文章
- Mac MySQLdb模块安装,可算解决了
转载:http://blog.csdn.net/janronehoo/article/details/25207825 短评:这篇文章感觉是比较全面解决Mac MySQLdb模块安装问题的文章了,特别 ...
- 同时安装Python2和Python3,如何兼容并切换使用详解
由于历史原因,Python有两个大的版本分支,Python2和Python3,又由于一些库只支持某个版本分支,所以需要在电脑上同时安装Python2和Python3,因此如何让两个版本的Python兼 ...
- Linux 首先基本包安装(vim啊什么的),源,源优化,项目架构介绍, (LNMuWsgi)Django项目相关软件mysql,redies,python(相关模块)安装配置测试
内容 补充: 查看已启动服务的端口 netstat -tulnp |grep (方式1) ss -tulnp|grep (方式2) 前期铺垫: . Linux要能上网 . 掌握Linux软件包安装方法 ...
- python之mysqldb模块安装
之所以会写下这篇日志,是因为安装的过程有点虐心.目前这篇文章是针对windows操作系统上的mysqldb的安装.安装python的mysqldb模块,首先当然是找一些官方的网站去下载:https:/ ...
- Python的MySQLdb模块安装,连接,操作,增删改
1. 首先确认python的版本为2.3.4以上,如果不是需要升级python的版本 python -V 检查python版本 2. 安装mysql, 比如安装在/usr/local/my ...
- Python的MySQLdb模块安装
MySQL-python-1.2.1.tar.gz 下载地址:https://pan.baidu.com/s/1kVfH84v 然后解压,打开README(这个其实没有什么鸟用) 里面有安装过程: ...
- nginx的yum安装,基本参数使用,编译参数说明和Nginx基本配置,模块安装
nginx的yum安装从nginx官网获取源 vim /etc/yum.repose.d/nginx.repo[nginx]name=nginx repobaseurl=http://nginx.or ...
- MySQLdb模块安装-win环境
原帖地址:http://blog.csdn.net/wklken/article/details/7253245 使用python访问mysql,需要一系列安装 linux下MySQLdb安装见 P ...
- CentOS6下编译安装Python2.7.6方法
关于在CentOS6下编译安装Python2.7.6的方法非常的多了,小编以前也介绍过相关的文章了,下面一聚教程小编再来为各位介绍一下吧,希望文章能帮助到各位. CentOS下面Python在升级 ...
随机推荐
- Gradle 打可执行jar包
初次使用Gradle,想和maven一样,把gradle项目打成可执行jar包,具体步骤: 1.下载gradle 版本,并配置环境变量, 下载地址:https://gradle.org/release ...
- Fluent动网格【13】:网格光顺总结及实例
光顺(Smoothing)方法是最基本的网格节点更新方法.Fluent提供了三种光顺方法: Spring弹簧光顺 Diffusion扩散光顺 Linearly Elastic Solid光顺 三种方法 ...
- SQL Server 各种时间业务处理
1.SQL 生成随机字符串作为流水号 ), ) --年月日时分秒 ), ),'-','') ), ),':','') --随机英文字符 ))),) ) --英文加数字 随机五位数字 )))) ))), ...
- C#学习笔记(34)——委托传值(回忆版)
说明(2018-4-6 20:31:03): 1. 昨天晚上看三层,看完第一天的最后一节,会员的修改和增加,感觉欲仙欲死,果断关机睡觉. 2. 上午搞了半天哈利波特的原版书epub的下载,结果都没发现 ...
- ionic入门教程-ionic路由详解(state、route、resolve)(转)
http://blog.csdn.net/onil_chen/article/details/51758696?appinstall=0 今天好好的跟大家讲讲ionic的路由配置. 问到的朋友有点多, ...
- Web API 异常处理
Web Api的ExceptionFilter只能截获并处理Action执行过程中发生的异常,在Action执行过程之外如果出现异常,ExceptionFilter是无能为力的. 这些异常包括: 1. ...
- 34对MyBatis的博客的整理心得
对本博客的mybatis重新读一下,做一个整理.如下: 1:为什么会有mybatis,因为原生的jdbc方式有很大问题: (1)数据库连接,使用时就创建,不使用立即释放,对数据库进行频繁连接开启和关闭 ...
- Linux 特殊字符_008
Linux 特殊字符用于用户命令行bash环境处理数据,达到一种命令简化使用的功能 通配符 符号 功能 备注 * 代表所有(0到多个)字符 ? 代表任意一个字符 [ ] 匹配[ ]任意一个字符,写法[ ...
- 更改Nginx网站根目录以及导致的403 forbidden问题解决
版权声明:本文为博主原创文章,未经博主允许不得转载. 一.更改根目录 Nginx默认网站根目录为/usr/local/nginx/html,要将它改成/home/fuxiao/www 更改方法: ...
- go对json对象的生成和解析
https://blog.csdn.net/benben_2015/article/details/78917374