最近新買了臺(tái)centos7服務(wù)器,自帶的是python2.7,所以想升級(jí)到python3,以下即是詳細(xì)升級(jí)步驟,方便日后查詢。
1. 查看當(dāng)前python版本
[root@iZwz99sau950q2nhb3pn0aZ ~]# python
Python 2.7.5 (default, Aug 7 2019, 00:51:29)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-39)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
可以看到執(zhí)行python,默認(rèn)是2.7
2. 安裝依賴包
yum install zlib zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make libffi-devel
編譯python源碼時(shí),需要一些依賴包,一次安裝完畢
3. 安裝wget
yum install wget
這個(gè)包是為了下載python源碼用的
4.安裝openssl
為了使用pip install 包時(shí)避免出現(xiàn)however the ssl module in Python is not available等錯(cuò)誤,需要先安裝open ssl
# 下載openssl安裝包
wget http://www.openssl.org/source/openssl-1.1.1.tar.gz
# 解壓
tar -zxvf openssl-1.1.1.tar.gz
# 進(jìn)入
cd openssl-1.1.1
# 配置
./config --prefix=/usr/local/openssl shared zlib
# 安裝
make && make install
# 修改環(huán)境變量
echo "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/openssl/lib" >> /etc/profile
source /etc/profile
4. 下載源碼包
wget https://www.python.org/ftp/python/3.8.1/Python-3.8.1.tgz
我是下載的最新的python3.8,如果想安裝其他版本,去python官網(wǎng)下載頁面下載對(duì)應(yīng)的版本即可。
但是這個(gè)下載鏈接比較慢,我是用迅雷下載到本地之后,再scp到服務(wù)器的。
5. 解壓安裝
# 解壓壓縮包
tar -zxvf Python-3.8.1.tgz
# 進(jìn)入文件夾
cd Python-3.8.1
# 配置安裝位置
./configure --prefix=/usr/local/python3 --with-openssl=/usr/local/openssl --enable-optimizations
# 安裝
make && make install
如果最后沒提示出錯(cuò),就代表正確安裝了,在/usr/local/目錄下就會(huì)有python3目錄
[root@iZwz99sau950q2nhb3pn0aZ local]# cd /usr/local/
[root@iZwz99sau950q2nhb3pn0aZ local]# ls
aegis bin etc games include lib lib64 libexec python3 sbin share src
6. 添加軟連接
#添加python3的軟鏈接
ln -s /usr/local/python3/bin/python3.8 /usr/bin/python3
#添加 pip3 的軟鏈接
ln -s /usr/local/python3/bin/pip3.8 /usr/bin/pip3
好了,我們來測(cè)試一下python3
[root@iZwz99sau950q2nhb3pn0aZ local]# python3
Python 3.8.1 (default, Feb 4 2020, 11:28:31)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-39)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
這里我沒有鏈接到python上,是因?yàn)?code>yum要用到python2才能執(zhí)行,所以現(xiàn)在輸入python的話還是會(huì)進(jìn)入python2.7,輸入python3才會(huì)進(jìn)入python3.8
如果執(zhí)意想要鏈接到python的話,就得修改一下yum的配置:
vi /usr/bin/yum
把 #! /usr/bin/python 修改為 #! /usr/bin/python2
vi /usr/libexec/urlgrabber-ext-down
把 #! /usr/bin/python 修改為 #! /usr/bin/python2