python的兩大版本python2和python3,做數(shù)據(jù)分析,常用的是python3,用python3開發(fā)的程序部署到服務(wù)器上時(shí),要求服務(wù)器上的python環(huán)境也是python3。現(xiàn)在Linux服務(wù)器一般自帶python2。本文介紹Linux環(huán)境下安裝python3以及一些需要注意點(diǎn)。
1 依賴安裝
gcc
是一個(gè)用于linux系統(tǒng)下編程的編譯器,由于python3需要編譯安裝,因此,需要首先安裝gcc。先查看一下系統(tǒng)中,是否安裝了gcc。
gcc --versions
發(fā)現(xiàn)沒有安裝,則需要安裝。參數(shù)-y
的作用是在安裝過程中自動(dòng)確認(rèn)。
yum -y install gcc
安裝完成后,輸入命令查看是否安裝完成。顯示gcc版本為4.8.5,安裝完成。
gcc --version
編譯安裝python3過程中,根據(jù)系統(tǒng)本身的依賴,可能出現(xiàn)的不同的報(bào)錯(cuò)信息。提前按照好依賴包。
yum -y install zlib*
yum -y install libffi-devel
yum -y install openssl-devel
yum -y install bzip2-devel
yum -y install xz-devel
2 python3 下載
在下載前可以檢查一下服務(wù)器中python的版本,一般linux服務(wù)器會(huì)自帶python2。以下所有操作都是在root
賬戶中進(jìn)行。
python --version
當(dāng)服務(wù)器網(wǎng)絡(luò)較好時(shí),可以直接使用以下命令下載python3的壓縮包。下載的版本為python3.7
,下載到服務(wù)器主目錄中(位置可自定義)。
cd ~
wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz
當(dāng)服務(wù)器網(wǎng)絡(luò)不好時(shí),命令下載花費(fèi)時(shí)間較長,可以考慮在其他機(jī)器上先下好壓縮包,然后通過工具(MobaXterm,Xshell,...)上傳到服務(wù)器。
3 python3編譯安裝
解壓下載的python3壓縮包。
tar -zxvf Python-3.7.0.tgz
解壓后主目錄下會(huì)多出一個(gè)Python-3.7.0
文件夾。
新建一個(gè)python3的安裝目錄(位置可自定義)。
mkdir /usr/lib/python3.7
進(jìn)入Python-3.7.0目錄下,指定安裝目錄,設(shè)置啟用ssl功能。
cd Python-3.7.0
./configure --prefix=/usr/lib/python3.7 --with-ssl
編譯安裝。
make && make install
4 創(chuàng)建軟連接
上述步驟完成后,其實(shí)python3已經(jīng)安裝完畢,但是為了方便使用,一般會(huì)創(chuàng)建python3和pip3的軟連接。創(chuàng)建后可直接在終端通過python命令進(jìn)入python和pip3命令安裝python包。
創(chuàng)建python3和pip3軟連接:
ln -s /usr/lib/python3.7/bin/python3.7 /usr/bin/python3
ln -s /usr/lib/python3.7/bin/pip3.7 /usr/bin/pip3
ln -s /usr/bin/pip3 /usr/bin/pip
系統(tǒng)默認(rèn)的python軟連接指向的是python2,如果我們需要更方便使用,可以刪除原有的python軟連接,并建立新的python軟連接指向python3。
rm -f /usr/bin/python
ln -s /usr/bin/python3 /usr/bin/python
查看最新的有python的軟連接。
ll /usr/bin/ |grep python
查看python版本。顯示為python 3.7.0。
python --version
5 修改yum配置
Linux centos7自帶的python版本是2.7,yum使用python2.7作為命令解釋器。安裝python3后,軟連接/usr/bin/python
指向的版本是python3,不修改yum的配置,會(huì)導(dǎo)致yum使用報(bào)錯(cuò),無法安裝包等。
報(bào)錯(cuò)信息1:
File "/usr/bin/yum", line 30
except KeyboardInterrupt, e:
^
SyntaxError: invalid syntax
報(bào)錯(cuò)信息2:
Downloading packages:
File "/usr/libexec/urlgrabber-ext-down", line 28
except OSError, e:
^
SyntaxError: invalid syntax
解決辦法:
修改yum配置文件,下面兩個(gè)文件都要修改。
vi /usr/bin/yum
vi /usr/libexec/urlgrabber-ext-down
按i
進(jìn)入編輯模式,在第一行#!/usr/bin/python
把修改為#!/usr/bin/python2.7
,
按ESC
退出編輯模式,:wq
退出保存。