centos7 php多版本切换_centos7安装python3
centos7中自帶的python2,如果要是用python3,就需要自己安裝了,因為yum源中沒有python3,需要下載包進行源碼編譯安裝,下面是具體安裝步驟。
1.安裝python3相關依賴包
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make
執行這條命令即可,沒有報錯,表示安裝成功
2.運行這兩條命令添加epel擴展源和安裝python-pip,就算已經安裝運行命令也不會有什么影響
添加epel擴展源
yum -y install epel-release
安裝python-pip
yum -y install python-pip
3.安裝wget命令,如果已安裝這條命令,可忽略
yum -y install wget
4.使用wget下載python3源碼包,我下的python3.7.4,如需要其他版本,可去https://www.python.org/ftp/python/下載
wget https://www.python.org/ftp/python/3.7.4/Python-3.7.4.tar.xz
5.解壓源碼包,并且編譯安裝
#解壓,根據下載版本的不同更改后面的名稱
xz -d Python-3.7.4.tar.xz
tar -xf Python-3.7.4.tar
#進入解壓后的目錄,編譯并且安裝
cd Python-3.7.4
./configure prefix=/usr/local/python3
make && make install
這個過程需要點時間,沒有報錯表示安裝完成
我在安裝的時候報了一個錯誤,ModuleNotFoundError: No module named '_ctypes'
查了一下發現是因為
Python3中有個內置模塊叫ctypes,它是Python3的外部函數庫模塊,它提供兼容C語言的數據類型,并通過它調用Linux系統下的共享庫(Shared library),此模塊需要使用CentOS7系統中外部函數庫(Foreign function library)的開發鏈接庫(頭文件和鏈接庫)。
由于在CentOS7系統中沒有安裝外部函數庫(libffi)的開發鏈接庫軟件包,所以在安裝pip的時候就報了"ModuleNotFoundError: No module named '_ctypes'"的錯誤。
解決方法:
yum -y install libffi-devel
執行上面這條命令后重新make && make install,這次沒有報錯,安裝成功
6.為了能直接使用python3命令,建立軟連接,把python3的bin添加到環境變量中
使用ls命令為python3建立軟鏈接到/usr/bin下面,我是直接使用python3,因為系統默認python命令是啟動python2,如果想使用python命令來啟動python3,下面會說明
#添加python3的軟鏈接
ln -s /usr/local/python3/bin/python3.7 /usr/bin/python3
#添加python3 pip的軟連接,我這里直接命名為pip3和python2的區別
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
添加python3路徑d到環境bi變量
export PATH=$PATH:/usr/local/python3/bin
上面這條命令是臨時添加,要想永久添加需要在配置文件中添加。
vim /etc/profile
在文件最后添加 export PATH=$PATH:/usr/local/python3/bin
重新加載配置文件
source /etc/profile
查看配置文件是否添加成功
echo $PATH
出現這個表示配置文件添加成功
/usr/local/python3/bin
查看python3和pip3是否添加完成
到此python3在centoscentos7上以全部anzhuan安裝完成
————————————————————————————————————
下面說一下如何講 python命令原來指向python2,改成指向python3,讓python2指向的是python2.7
#將原來的鏈接備份
mv /usr/bin/python /usr/bin/python.bak
因為系統默認python2 和 python都是指向python2.7,所以我們改變python命令的指向不會影響Python2的使用
#添加python3的軟鏈接
ln -s /usr/local/python3/bin/python3.6 /usr/bin/python
要知道執行到這里,python命令啟動的是python3.7,python2命令才是啟動python2.7
因為yum命令中使用了python2,所以需要改變一些配置,不然yum會無法使用
vim /usr/bin/yum
把#! /usr/bin/python修改為#! /usr/bin/python2
vim /usr/libexec/urlgrabber-ext-down
把#! /usr/bin/python 修改為#! /usr/bin/python2
總結
以上是生活随笔為你收集整理的centos7 php多版本切换_centos7安装python3的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 用V C++检测和隔离内存泄漏
- 下一篇: SMTP协议原始命令码和工作原理