刚购买了阿里云的ESC(云服务器),其默认系统为centos_7_04_64_20G_alibase_201701015.vhd。在使用的过程中发现系统自带的python是python2,版本较低,自己决定升级一下python环境。因为可能有程序依赖目前的python2环境,比如:yum…所以不能动现有的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
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
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的虚拟环境,可以参考我的另一篇博文,https://blog.csdn.net/qq_37266079/article/details/104251088。
将/usr/local/python3/bin加入PATH中
vim ~/.bash_profile
然后wq!
保存退出。
因为我是安装成功之后写的界面,所以进来页面和未配置的有所不同。不过不管怎么样只需要在PATH后面添加:/usr/local/python3/bin按ESC退出输入状态,输入:wq保存退出即可。
修改完记得执行下面的命令,让上一步的修改生效:
source ~/.bash_profile
python3 -V
毕竟丰富的第三方库是python的优势所在,为了更加方便的安装第三方库,我们需要使用pip命令。
ln -s /usr/local/python3/bin/pip3 /bin/pip3
pip3 install --upgrade pip
这里的升级升级python环境并不是用python3.6版本覆盖之前的python2.7版本,之前的python2.7版本依然在,使用默认的python
和pip
命令使用依然是python2.7环境,而使用python3
和pip3
则使用的是我们新安装的python3.6版本.
转载:
https://www.jianshu.com/p/6ec123426787