阿里云服务器中CentOS7升级Python环境

刚购买了阿里云的ESC(云服务器),其默认系统为centos_7_04_64_20G_alibase_201701015.vhd。在使用的过程中发现系统自带的python是python2,版本较低,自己决定升级一下python环境。因为可能有程序依赖目前的python2环境,比如:yum…所以不能动现有的python2环境!

centos升级python3后_python2

安装依赖环境

首先安装相关包,这里千万不能忽视,不然有什么不可预见的错误会很难受。

yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel

下载Python3

wget https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tgz

创建安装目录

个人习惯安装在/usr/local/python3(具体安装位置看个人喜好)

mkdir -p /usr/local/python3

解压下载文件

解压下载好的Python-3.x.x.tgz包(具体包名因你下载的Python具体版本不同而不同,如:我下载的是Python3.6.1.那我这里就是Python-3.6.1.tgz)

tar -zxvf Python-3.6.1.tgz

编译安装

进入解压后的目录,运行配置文件,进行编译安装

cd Python-3.6.1

执行这一步需要安装gcc,没有安装gcc会保存,执行这个命令yum install gcc

./configure --prefix=/usr/local/python3
make && make install

建立python3的软链

ln -s /usr/local/python3/bin/python3 /usr/bin/python3

这里值得注意的是,我这里的软连接是/usr/bin/python3,有些人可能会觉得原来的python2没有用,直接替换掉/usr/bin/python(原来python2.7的执行文件),这样其实不太好,因为Linux上面目前还是有很多服务是基于python2的,替换掉/usr/bin/python可能会导出一些其他的问题。(例如yum命令)。现在其实没有必要用这种方式修改python强行修改的解释器位置,现在一般是直接用python的虚拟环境,可以参考我的另一篇博文,。

配置环境变量

将/usr/local/python3/bin加入PATH中

vim ~/.bash_profile

centos升级python3后_阿里云_02


然后wq!保存退出。

因为我是安装成功之后写的界面,所以进来页面和未配置的有所不同。不过不管怎么样只需要在PATH后面添加:/usr/local/python3/bin按ESC退出输入状态,输入:wq保存退出即可。

修改完记得执行下面的命令,让上一步的修改生效:

source ~/.bash_profile

验证是否升级成功

python3 -V

centos升级python3后_python_03

pip3创建软连接

毕竟丰富的第三方库是python的优势所在,为了更加方便的安装第三方库,我们需要使用pip命令。

ln -s /usr/local/python3/bin/pip3 /bin/pip3
pip3 install --upgrade pip

centos升级python3后_python_04

这里的升级升级python环境并不是用python3.6版本覆盖之前的python2.7版本,之前的python2.7版本依然在,使用默认的pythonpip命令使用依然是python2.7环境,而使用python3pip3则使用的是我们新安装的python3.6版本.