您的位置:首页 > 编程语言 > Python开发

Python升级到2.7.6

2014-02-23 16:32 796 查看
安装编译工具

yum install automake libtool autoconf gcc-c++ gcc libaio libaio-devel make

yum install openssl-devel zlib-devel gcc gcc-c++ make autoconf readline-devel curl-devel expat-devel gettext-devel bzip2-devel python-devel

centos 是自带python的。但是版本稍微旧一些。搞python开发,肯定要用新一点的稳定版。所以,要升级一下python。

先去python主站下载python的源码包:Python-2.7.6.tar.xz

wget http://www.python.org/ftp/python/2.7.6/Python-2.7.6.tar.xz
安装:

xz -d Python-2.7.6.tar.xz


tar xvf Python-2.7.6.tar

cd Python-2.7.6

./configure

make

make install

注意:

安装python之前,最好确认一下gcc是否安装。yum install -y gcc

如果提示make:command not found则用yum -y install gcc automake autoconf libtool make先安装编译器

否则./configure 阶段就会报错了

 

看版本号:

运行python,发现版本还是默认的,系统自带的2.6版本

 

更改系统默认的python:

建立软连接,使系统默认的python指向python2.7

正常情况下即使python2.7安装成功后,系统默认指向的python仍然是2.6版本,而yum是基于python2.6才能正常工作。所以要将系统默认的python指向到2.7版本。

# /usr/local/bin/python2.7 -V    

# mv /usr/bin/python  /usr/bin/python.bak 

# ln -s /usr/local/bin/python2.7 /usr/bin/python

运行一下python,或者:

# python -V

修正yum报错:

如果打yum命令,你会发现报错了。提示你可能是python版本不对。所以我们要把yum依旧指向老的python2.6版本:

vi /usr/bin/yum

在打开的文件里的头一行,也就是指定python环境的那行代码,修改成:

#!/usr/bin/python2.6

 

 python第三方包的安装位置:

/usr/local/lib/python2.7/site-packages/ 

如果安装setuptools过程中遇到:RuntimeError: Compression requires the (missing) zlib module

则需要安装zlib ,yum install zlib zlib-devel然后在python安装目录make install 重新安装完Python

继续setuptools安装就可以了。

安装的是python2.7

运行脚本,出错信息:urllib2.URLErroe:<urlopen error unknown url type : https>

网上找到资料说是缺少ssl模块

yum install openssl

重新编译;make;

出现还是未能安装ssl:
Failed to build these modules: 
_hashlib           _ssl 

yum install openssl-devel

重新编译;make

ok-- ssl安装成功


升级Python2.7导致使用pip等命令安装模块失败

报错如下:

12345# pipTraceback (most recent call last):  File "/usr/bin/pip", line 5, in <module>    from pkg_resources import load_entry_pointImportError: No module named pkg_resources
其实发生这个问题是因为:虽然你已经把Python升级到了2.7版本,但是pip仍然是原来的,版本,仍然在原来python的site-package里面CentOS5环境下,默认是python2.4,site-package在

1

/usr/lib/python2.4/site-packages/

很多模块都被安装在这里。直接打pip,还是使用的原来的pip。所以我们的思路就是:应该在新的Python中安装pip,这样才不会报错。

这个问题遇到的人很多,但是解决的太少了,网上都是抄来抄去,都解决不了问题。最后还是在一外个国人的网站上找到了解决方案:

12# curl -O http://python-distribute.org/distribute_setup.py# /usr/local/pyton2.7/bin/python distribute_setup.py
使用新版本的python来运行这个脚本,这个会自动安装出来一个easy_install,然后使用这个新的easy_install来安装pip就可以了!

1

2

3

# /usr/local/python/bin/easy_install pip

# /usr/local/python/bin/pip -V

pip1.4.1from/usr/local/python/lib/python2.7/site-packages/pip-1.4.1-py2.7.egg(python2.7)

安装生成的所有二进制文件,都是在你的PYTHON_HOME/bin/,因为我的是安装在/usr/local/python/,所以命令都在这里,以后再调用pip要使用绝对路径,或者做链接!

2.7的模块是在以下目录

1

/usr/local/python/lib/python2.7/site-packages/

centos默认没有readline-devel,要安装,否则在python shell中删除键,上下左右,用不了

yum -y install readline

yum -y install readline-devel

在重新装python  , make   ,  make install

安装MySQl-python

首先 yum install python-devel mysql-devel zlib-devel openssl-devel

然后可以pip,或者下载安装包,安装

安装pip用python2.6 即从pip官网下载get-pip.py  然后  python2.6 get-pip.py 下载pip即可

对于sqlite3安装后要,

yum install  sqlite-devel

pip install PySqlite

yum  install  mysql  mysql-server mysql-libs
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: