centos6.3环境下升级python及MySQLdb的安装
近来突然想鼓捣下linux下的python,看下Python数据库方面的东西,想着在centos下测试下。然而安装的过程有很多坑。下面对整个流程进行下记录
1、python基本库的安装
在安装python的过程中,发现其中很多的依赖库是没有包含在内的。根据我的需要,我安装了sqlite和zlib这两个依赖库。具体过程说明如下:
(1)sqlite
1>下载文件sqlite-autoconf-3160100.tar.gz:
http://pan.baidu.com/s/1slOw8BN
2>解压
3>配置、编译、安装
./configure
make
make install
需要注意的是,configure这里一定要用默认路径。否则后面很多地方会需要额外配置(而且我不知道怎么配置...)。
(2)zlib
1>下载文件zlib-1.2.7.tar.gz:
http://pan.baidu.com/s/1o77r12M
2>解压
3>配置、编译、安装
./configure
make
make install
2、python安装
到这里开始进入正题了。
其实centos6.3中是有python的,但版本是2.6.6的。虽然并没有什么用,我还是想升级一下...
(1)下载python的源文件Python-2.7.13.tgz:
http://pan.baidu.com/s/1c1YGnhI
(2)解压
(3)配置
./configure --prefix=/usr/local --with-libs='/usr/local/include/zconf.h'
为了保险,我加了个zlib的路径
(4)更改源文件文件夹中的setup文件
Python-2.7.13->Modules->Setup,找到
#zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz,去掉前面的注释#
(5)配置、编译、安装(为了保险,再配置一次)
./configure --prefix=/usr/local --with-libs='/usr/local/include/zconf.h'
make
make install
(6)设定软链接
在这一步,将python命令由原来系统默认的python2.6.6改置我们新安装的python2.7.13,将python2.6.6的软连接重命名为python2.6
mv /usr/bin/python /usr/bin/python2.
ln -s /usr/local/bin/python2. /usr/bin/python
(7)将yum的执行重定向置python2.6.6
需要注意的是,yum命令是不兼容python2.7的,所以需要重新指定yum的python版本至python2.7。
#vim /usr/bin/yum
将文件头部的
#!/usr/bin/python
改成
#!/usr/bin/python2.6
3、安装setuptools
(1)下载setuptools-0.6c11-py2.7.egg:
http://pan.baidu.com/s/1c116neS
(2)安装
sh setuptools-0.6c11-py2.7.egg
4、安装mysql_config
在后面安装mysql-python的操作中会发现报错EnvironmentError:mysql_config not found,解决方案如下:
sudo yum install libmysqlclient-dev
sudo yum install python-devel
这样,文件mysql_config就已经被安装好了。下面找一下它的路径
find / -name mysql_config
shell将返回mysql_config的地址
/usr/lib/mysql/mysql_config
/usr/bin/mysql_config
我们认为有效地址是/usr/bin/mysql_config(我也不知道为啥...)
5、安装MySQL-python
(1)下载文件MySQL-python-1.2.3.tar.gz:
http://pan.baidu.com/s/1i471Ltz
(2)解压&进行一些必要更改
下面更改MySQL-python-1.2.3目录下面的site.cfg文件:
去掉mysql_config=XXX这行的注释,并改成:
mysql_config=/usr/bin/mysql_config
(3)编译&安装
cd MySQL-python-1.2.3
python setup.py build
python setup.py install
至此搞定!
参考来源:
[1]对于python编译过程中依赖库报错的说明:http://www.tuicool.com/articles/FjmA3u
[2]centos编译安装zlib:http://lbs1991.blog.51cto.com/9134853/1566891
[3]centos编译安装zlib:http://blog.csdn.net/zhouzhiwengang/article/details/51675002
[4]对linux软链接、硬链接的讲解:http://www.cnblogs.com/wancy86/p/linux_inode.html
[5]对python升级的比较好的讲解:http://www.91pen.net/centos6-5-upgrade-python-2-6-to-2-7.html
[6]报错EnvironmentError:mysql_config not found的解决方案:http://codingnow.cn/language/159.html
[6]报错EnvironmentError:mysql_config not found的解决方案:http://www.cnblogs.com/xiazh/archive/2012/12/12/2814289.html
centos6.3环境下升级python及MySQLdb的安装的更多相关文章
- CentOS6 系统下升级python后yum命令使用时报错
CentOS6 系统下升级python后yum命令使用时报错,如下: [root@xxxxxxx]#yumFile"/usr/bin/yum",line30exceptKeyboa ...
- Centos7.4环境下搭建Python开发环境(虚拟机安装+python安装+pycharm安装)
目录 一.安装 Centos7.4虚拟机 二.安装 python3.6.7 三.安装 pycharm 一般情况下,大家都是在 Windows平台下进行 Python开发,软件安装和环境搭建都非常&qu ...
- 【Linux】CentOS下升级Python和Pip版本全自动化py脚本
[Linux]CentOS下升级Python和Pip版本全自动化py脚本 CentOS7.6自带py2.7和py3.6 想要安装其它版本的话就要自己重新下载和编译py其它版本并且配置环境,主要是软链接 ...
- Sublime Text3配置在可交互环境下运行python快捷键
安装插件 在Sublime Text3下面写代码感觉很不错,但是写Python的时候遇到了一些问题. 用Sublime Text3打开python文件,或者在Sublime Text3下写好pytho ...
- 4.1. 如何在Windows环境下开发Python
4.1. 如何在Windows环境下开发Python 4.1. 如何在Windows环境下开发Python 4.1.1. Python的最原始的开发方式是什么样的 4.1.1.1. 找个文本编辑器,新 ...
- 手把手教你在Windows环境下升级R
在Windows环境下,我们可以使用installr包自动将R升级到最新版本.并且可以安装软件.下面主要演示如何在Windows环境下升级R,并将旧版本安装的R包复制到更新版本的R. 1.加载inst ...
- centos6.5环境下zookeeper-3.4.6集群环境部署及单机部署详解
centos6.5环境下Zookeeper-3.4.6集群环境部署 [系统]Centos 6.5 集群部署 [软件]准备好jdk环境,此次我们的环境是open_jdk1.8.0_101 zookeep ...
- Linux系统下升级Python版本步骤(suse系统)
Linux系统下升级Python版本步骤(suse系统) http://blog.csdn.net/lifengling1234/article/details/53536493
- CentOS6.8环境下搭建yum网络仓库
CentOS6.8环境下搭建yum网络仓库 本文利用ftp服务,在CentOS6.8系统下搭建一个yum仓库,然后用另一台虚拟机访问该仓库.并安装程序包 安装ftp服务 查询ftp服务是否安装 [ro ...
随机推荐
- python获取字母在字母表对应位置的几种方法及性能对比较
python获取字母在字母表对应位置的几种方法及性能对比较 某些情况下要求我们查出字母在字母表中的顺序,A = 1,B = 2 , C = 3, 以此类推,比如这道题目 https://project ...
- spring注解 @Transactional
一.@Transactional所需要的jar包 1.aopalliance.jar 这个包是AOP联盟的API包,里面包含了针对面向切面的接口.(通常Spring等其它具备动态织入功能的框架依赖此 ...
- Unity中创建二维码
在网络上发现了一个可以把字符串转换成二维码的dll,但是我们要怎么使用他呢.不废话,直接进入主题. 用到的引用 using UnityEngine;using ZXing;using ZXing.Qr ...
- webpack vuejs项目学习心得
最近在做移动端的项目,最近webpack和vuejs很火,就想到了用vuejs webpack来构建我的项目 先了解了一些webpack的入门基础 http://webpack.github.io/d ...
- HTML DOM对象之createElement()方法
今天在学习DOM节点操作时,发现了创建DOM节点的createElement()方法的一个有意思的现象. 代码如下: var box=document.getElementById("box ...
- 团队第二周:SRS文档
项目计划: 对于这次的实验,我们组计划进行一个图书管理系统的项目书写,在第一阶段,对该项目先进行一下规划,总结该项目的注意事项以及实验要求,并加以实施. 下面我先对我们项目的要求坐一下说明: 1定义五 ...
- linux下解压war文件命令
jar -xvf project.war -->解压到当前目录下. -f 指定 JAR 文件名,通常这个参数是必须的 -v 显示过程信息
- Unity3D教程:茄子童萌會
http://s.epb.idv.tw/han-shi-ku/unity Unity 0000 Unity3D學習之路 - C#學習筆記(一) 0001 Unity3D學習之路 - C#學習筆記(二) ...
- HDU 5289
http://acm.hdu.edu.cn/showproblem.php?pid=5289 给一个数列,求有多少区间,使得这些区间内的最大值减最小值小于k 单调队列的功能:O(1) 插入,删除,最大 ...
- 类A have-a 类B,类B访问类A public 成员
需求是类A中包含类B,而类B又需要访问类A的public属性的成员. 首先类B中要访问类A的属性,那么对于类B而言,我们必须要知道有类A这个类,所以在类B的具体实现之前我们需要前向声明类A. 对于类A ...