新安装了CentOS 6.7,想要在上面跑跑Django应用,可是CentOS 6.7的Python默认版本是Python2.6,Django的最新版本1.8.4只支持Python2.7,所以只好琢磨琢磨怎么升级。升级的过程不复杂,在这里简单记录一下全过程,希望下次自己需要的时候能少走一些弯路。同时这也是我的第一篇技术博客,权当练手吧~
首先,查看当前Python版本,我的是Python2.6.6
在编译Python之前有些库和软件需要提前安装好
-
$ sudo yum -y install gcc gcc-c++ openssl openssl-devel sqlite-devel
确认版本和需要提前安装的软件后,下载Python2.7.10,解压后进入工作目录
-
$ wget
-
$ xz -d Python-2.7.10.tar.xz
-
$ tar xvf Python-2.7.10.tar
-
$ cd Python-2.7.10
此时就可以开始配置、编译和安装Python2.7了。需要注意的是,由于安装完成后,系统内会存在多个版本的Python(2.7.10和2.6.6),所以在配置操作的时候,需要附加如下命令,以确保生成动态链接库。(如果在configure的时候不添加下面的附加命令,可能会导致后面的使用中,有些需要Python2.7环境的模块安装不成功,切记。)
-
./configure LDFALGS=-L. --enable-shared
此处有一个小插曲,在CentOS下,升级Python后,在交互模式下,方向键和删除键都会显示乱码,所以需要在安装之前做一下配置:
先安装readline-devel,接下来进行配置操作,完毕后编辑Modules/Setup文件,去掉对应行的注释,再进行编译和安装
-
$ sudo yum install readline-devel
-
$ ./configure LDFALGS=-L. --enable-shared
-
$ vi Modules/Setup
-
### 取消 "#readline readline.c -lreadline -ltermcap"这一行的注释 ###
-
$ make
-
$ sudo make install
这样就完成了Python2.7的安装,但是还没有结束,因为系统的默认Python还是2.6,还需要做如下三件事:
第一,将系统的默认Python版本改为Python2.7
-
$ sudo mv /usr/bin/python /usr/bin/python2.6
-
$ sudo ln -s /usr/local/bin/python2.7 /usr/bin/python
第二,由于yum只支持Python2.6,所以需要修改yum文件,指定执行yum的Python的版本
-
$ vi /usr/bin/yum
-
### 将第一行的"#!/usr/bin/python"改为"#!/usr/bin/python2.6" ###
第三,这个时候,如果运行Python,会报如下错误
-
$ python
-
python: error while loading shared libraries: libpython2.7.so.1.0: cannot open shared object file: No such file or directory
这是因为libpython2.7的动态链接库没有加入系统路径中的原因,需要进行如下操作:
-
$ sudo vim /etc/ld.so.conf
-
### 在"include ld.so.conf.d/*.conf"下面添加一行"/usr/local/lib" ###
-
$ sudo /sbin/ldconfig
-
$ sudo /sbin/ldconfig -v
至此,就完成了Python2.7的升级工作,检查一下Python版本,Bingo!
-
$ python -V
-
Python 2.7.10
参考链接:
http://blog.csdn.net/jcjc918/article/details/11022345
/>
/>
/>
阅读(8242) | 评论(0) | 转发(0) |