Centos7默認(rèn)自帶了Python2.7版本,但是因?yàn)轫?xiàng)目需要使用Python3.X你可以按照此文的三個(gè)方法進(jìn)行安裝.
注:本文示例安裝版本為Python3.5府怯,
一龄减、Python源代碼編譯安裝
安裝必要工具 yum-utils ,它的功能是管理repository及擴(kuò)展包的工具 (主要是針對(duì)repository)
$ sudo yum install yum-utils
使用yum-builddep為Python3構(gòu)建環(huán)境,安裝缺失的軟件依賴,使用下面的命令會(huì)自動(dòng)處理.
$ sudo yum-builddep python
完成后下載Python3的源碼包(筆者以Python3.5為例)胁孙,Python源碼包目錄: https://www.python.org/ftp/python/ 秒旋,截至發(fā)博當(dāng)日Python3的最新版本為 3.7.0
$ curl -O https://www.python.org/ftp/python/3.5.0/Python-3.5.0.tgz
最后一步竞滓,編譯安裝Python3,默認(rèn)的安裝目錄是 /usr/local 如果你要改成其他目錄可以在編譯(make)前使用 configure 命令后面追加參數(shù) “–prefix=/alternative/path” 來完成修改疫向。
$ tar xf Python-3.5.0.tgz
$ cd Python-3.5.0
$ ./configure
$ make
$ sudo make install
至此你已經(jīng)在你的CentOS系統(tǒng)中成功安裝了python3咳蔚、pip3、setuptools搔驼,查看python版本
$ python3 -V
建立軟連接
sudo ln -s /usr/local/python3/bin/python3 /usr/bin/python3
sudo ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
如果你要使用Python3作為python的默認(rèn)版本谈火,你需要修改一下 bashrc 文件,增加一行alias參數(shù)
alias python='/usr/local/bin/python3.5'
由于CentOS 7建議不要?jiǎng)?etc/bashrc文件舌涨,而是把用戶自定義的配置放入/etc/profile.d/目錄中糯耍,具體方法為
vi /etc/profile.d/python.sh
輸入alias參數(shù) alias python=’/usr/local/bin/python3.5’,保存退出
如果非root用戶創(chuàng)建的文件需要注意設(shè)置權(quán)限
chmod 755 /etc/profile.d/python.sh
重啟會(huì)話使配置生效
source /etc/profile.d/python.sh
二、從EPEL倉庫安裝
最新的EPEL 7倉庫提供了Python3(python 3.4)的安裝源温技,如果你使用CentOS7或更新的版本的系統(tǒng)你也可以按照下面的步驟很輕松的從EPEL倉庫安裝革为。
安裝最新版本的EPEL
$ sudo yum install epel-release
用yum安裝python 3.4:
$ sudo yum install python34
注意:上面的安裝方法并未安裝pip和setuptools,如果你要安裝這兩個(gè)庫可以使用下面的命令:
$ curl -O https://bootstrap.pypa.io/get-pip.py
$ sudo /usr/bin/python3.4 get-pip.py
三舵鳞、從SCL(Software Collections)倉庫安裝
最后一種方法是通過Software Collections (SCL) repository來安裝震檩,需要注意的是SCL倉庫僅支持CentOS 6.5以上版本,最新版的SCL提供了Python3.3版本蜓堕,具體安裝步驟:
$ sudo yum install python33
從SCL中使用python3抛虏,你需要一行命令來啟用Python3:
$ scl enable python33 <command>
您還可以使用Python編譯器來調(diào)用一個(gè)bash shell:
$ scl enable python33 bash
總結(jié)
筆者建議使用前兩種方法,老司機(jī)使用方法一編譯安裝套才;新手使用方法二yum二進(jìn)制安裝迂猴,簡單方便。