centos7環境下安裝python3有很多坑,經過不斷總結經驗教訓,把正確的步驟記錄下來,便於查詢。
注意:
1.不能卸載centos7自帶的python2.7,因為yum等軟件依賴於python2,而python2和python3不兼容,只能在保留原版本的基礎上,重新安裝一個python3(本次安裝版本:3.8.5)
另外,任何有關python的組件安裝后,都需要在python的安裝目錄下運行make install
1.安裝必備:
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make
安裝完成后,需要安裝組件:libffi-devel,否則在部署python項目時,會遇到錯誤:
ModuleNotFoundError: No module named '_ctypes'
到時再安裝組件,並到python目錄下再次make&&make install會很麻煩,不如提前一次性安裝好。使用下面命令安裝:
yum install libffi-devel -y
以上安裝完成后,去下載python,本次安裝版本為:3.8.5
wget https://www.python.org/ftp/python/3.8.5/Python-3.8.5.tgz
下載會很慢,可用迅雷等工具下載,然后拷貝到指定目錄,本次安裝放置目錄為:/usr/local/
然后解壓到指定目錄(本次安裝目錄為:/usr/local/python3,可以先解壓再改名)
tar -zxvf Python-3.8.5.tgz
並進入目錄,執行:
./configure
make&&make install
安裝完成。
2.配置系統默認使用python3及保留python2
把系統默認python命令指向最新的python3
mv /usr/bin/python /usr/bin/python.bak
ln -s /usr/local/bin/python3 /usr/bin/python
mv /usr/bin/pip /usr/bin/pip.bak #此語句可不執行,因為壓根沒有/usr/bin/pip文件
ln -s /usr/local/bin/pip3 /usr/bin/pip
把yum指向系統自帶的python2.7
vi /usr/libexec/urlgrabber-ext-down
把文件的第一行usr/bin/python修改為:
#!/usr/bin/python2.7
類似:打開文件:
vi /usr/bin/yum
把首行也修改為指向相同目錄:
#!/usr/bin/python2.7
以上執行完畢后,可以測試下yum是否正常:
運行:yum:
Loaded plugins: fastestmirror
You need to give some command
Usage: yum [options] COMMAND
List of Commands:
...
運行:python -V
Python 3.8.5
參考目錄:centos7下安裝python3.7
激活虛擬環境:source 虛擬路徑目錄/bin/activate
退出虛擬環境:deactivate