
❝ python的兩大版本python2和python3,做資料分析,常用的是python3,用python3開發的程式部署到伺服器上時,要求伺服器上的python環境也是python3。現在Linux伺服器一般自帶python2。本文介紹Linux環境下安裝python3以及一些需要注意點。
❞
1 依賴安裝
gcc
是一個用于linux系統下程式設計的編譯器,由于python3需要編譯安裝,是以,需要首先安裝gcc。先檢視一下系統中,是否安裝了gcc。
gcc --versions
發現沒有安裝,則需要安裝。參數
-y
的作用是在安裝過程中自動确認。
yum -y install gcc
編譯安裝python3過程中,根據系統本身的依賴,可能出現的不同的報錯資訊。提前按照好依賴包。
yum -y install zlib*
yum -y install libffi-devel
yum -y install openssl-devel
2 python3 下載下傳
在下載下傳前可以檢查一下伺服器中python的版本,一般linux伺服器會自帶python2。以下所有操作都是在
root
賬戶中進行。
python --version
當伺服器網絡較好時,可以直接使用以下指令下載下傳python3的壓縮包。下載下傳的版本為
python3.7
,下載下傳到伺服器主目錄中(位置可自定義)。
cd ~
wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz
當伺服器網絡不好時,指令下載下傳花費時間較長,可以考慮在其他機器上先下好壓縮包,然後通過工具(MobaXterm,Xshell,...)上傳到伺服器。
3 python3編譯安裝
解壓下載下傳的python3壓縮包。
tar -zxvf Python-3.7.0.tgz
解壓後主目錄下會多出一個
Python-3.7.0
檔案夾。
建立一個python3的安裝目錄(位置可自定義)。
mkdir /usr/lib/python3.7
進入Python-3.7.0目錄下,
「指定安裝目錄,設定啟用ssl功能」。
cd Python-3.7.0
./configure --prefix=/usr/lib/python3.7 --with-ssl
編譯安裝。
make && make install
4 建立軟連接配接
上述步驟完成後,其實python3已經安裝完畢,但是為了友善使用,一般會建立python3和pip3的軟連接配接。建立後可直接在終端通過python指令進入python和pip3指令安裝python包。
建立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
系統預設的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的配置,會導緻yum使用報錯,無法安裝包等。
「報錯資訊1:」「報錯資訊2:」❝ File "/usr/bin/yum", line 30 except KeyboardInterrupt, e: ^ SyntaxError: invalid syntax
❞
「解決辦法:」❝ Downloading packages: File "/usr/libexec/urlgrabber-ext-down", line 28 except OSError, e: ^ SyntaxError: invalid syntax
❞
修改yum配置檔案,下面兩個檔案都要修改。
vi /usr/bin/yum
vi /usr/libexec/urlgrabber-ext-down
按
i
進入編輯模式,在第一行
#!/usr/bin/python
把修改為
#!/usr/bin/python2.7
,
按
ESC
退出編輯模式,
:wq
退出儲存。