CentOS-6.5 升级与安装python

CentOS-6.5原装的python版本为2.6.6,为方便学习打算再升级python2为python-2.7.11,同时安装python3.5.1。

工具与原料

Python-2.7.11.tar.xz
Python-3.5.1.tar.xz

解压命令: tar -xf Python-2.7.11.tar.xz

升级Python2

# cd Python-2.7.11

为了不覆盖以前的版本,在安装时指定版本特定的目录

# ./configure --prefix=/usr/local/python2.7.11

执行编译命令

# make

执行完该命令后发现python提示如下信息


CentOS-6.5 升级与安装python_第1张图片

意思很明确,我们编译的时候,系统没有办法找到对应的模块信息,为了解决这些报错,我们就需要提前安装依赖包,这些依赖包对应列表如下(不一定完全):

模块 依赖 说明
_bsddb bsddb Interface to Berkeley DB library。Berkeley数据库的接口
_curses ncurses Terminal handling for character-cell displays。
_curses_panel ncurses A panel stack extension for curses。
_sqlite3 sqlite DB-API 2.0 interface for SQLite databases。SqlLite,CentOS可以安装sqlite-devel
_ssl openssl-devel.i686 TLS/SSL wrapper for socket objects。
_tkinter N/A a thin object-oriented layer on top of Tcl/Tk。如果不使用桌面程序可以忽略TKinter
bsddb185 old bsddb module 老的bsddb模块,可忽略。
bz2 bzip2-devel.i686 Compression compatible with bzip2。bzip2-devel
dbm bsddb Simple “database” interface。
dl N/A Call C functions in shared objects.Python2.6开始,已经弃用。
gdbm gdbm-devel.i686 GNU’s reinterpretation of dbm
imageop N/A Manipulate raw image data。已经弃用。
readline readline-devel GNU readline interface
sunaudiodev N/A Access to Sun audio hardware。这个是针对Sun平台的,CentOS下可以忽略
zlib Zlib Compression compatible with gzip

在CentOS下,可以用yum安装这些依赖包:

# yum install readline-devel sqlite-devel bzip2-devel openssl-devel gdbm-devel libdbi-devel ncurses-libs zlib-devel

完成这些安装之后,可以再次编译,提示信息变成了下面的样子:

CentOS-6.5 升级与安装python_第2张图片

将编译好的程序打包,新版本的python会安装到我们之前指定的目录

# make install

为了能直接在命令行使用python2.7.11,我们在/usr/bin/目录下建立可执行文件的软连接。该目录下python命令对应的操作系统默认的版本2.6.6,暂时不动它,我们用python2指向新版本python

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

安装Python3

与安装python2.7类似,此处列出主要过程

# cd Python-3.5.1
# ./configure --prefix=/usr/local/python3.5.1
# make
# make install
# ln -s /usr/local/python3.5.1/bin/python3.5 /usr/bin/python3.5.1
# ln -s /usr/bin/python3.5.1 /usr/bin/python3

P.S. 安装完毕后,我的操作系统存在3个版本的python

# ll /usr/bin/python*
lrwxrwxrwx. 1 root root   11 Apr 30 15:45 python -> python2.6.6
lrwxrwxrwx. 1 root root   21 Apr 30 15:44 python2 -> /usr/bin/python2.7.11
-rwxr-xr-x. 1 root root 9032 Nov 22  2013 python2.6.6
lrwxrwxrwx. 1 root root   37 Apr 30 15:22 python2.7.11 -> /usr/local/python2.7.11/bin/python2.7
lrwxrwxrwx. 1 root root   20 Apr 30 15:39 python3 -> /usr/bin/python3.5.1
lrwxrwxrwx. 1 root root   36 Apr 30 15:43 python3.5.1 -> /usr/local/python3.5.1/bin/python3.5

python 命令对应操作系统默认的版本2.6.6
python2 命令对应版本2.7.11
python3 命令对应版本3.5.1

想用哪个版本就用哪个版本 嘻嘻~

你可能感兴趣的:(CentOS-6.5 升级与安装python)