CentOS 7.5,系統(tǒng)自帶的Python版本是2.7.5。安裝IPython2.3需要Python 2.7或者大于等于3.3。
安裝步驟
1、安裝開發(fā)庫(kù)文件
編譯Python只要有g(shù)cc編譯器就足夠了,但一些擴(kuò)展模塊需要額外的庫(kù),否則一些Python模塊將不可用(比如Python的zlib模塊需要zlib-devel,ssl模塊需要openssl-devel)。用戶可以根據(jù)需要,選擇性的安裝這些擴(kuò)展模塊。這里我們安裝zlib、ssl和sqlite3的庫(kù)文件。
yum install zlib-devel openssl-devel sqlite-devel
2、下載Python
目前最新版本為3.7.3。
wget https://www.python.org/ftp/python/3.7.3/Python-3.7.3.tgz
tar zxvf Python-3.7.3.tgz
3、編譯安裝
3.7版本需要一個(gè)新的包libffi-devel,安裝此包之后再次進(jìn)行編譯安裝即可。
#yum install libffi-devel -y
#make install
若在安裝前移除了/usr/bin下python的文件鏈接依賴,此時(shí)yum無(wú)法正常使用,需要自己下載相關(guān)軟件包安裝,為節(jié)省讀者時(shí)間,放上鏈接
#wget http://mirror.centos.org/centos/7/os/x86_64/Packages/libffi-devel-3.0.13-18.el7.x86_64.rpm
#rpm -ivh libffi-devel-3.0.13-18.el7.x86_64.rpm
安裝完成后重新進(jìn)行make install
為了方便管理,將Python安裝到/usr/local/python路徑下。
cd Python-3.7.3
./configure --prefix=/usr/local/python
make
make install
4、替換系統(tǒng)自帶Python
安裝后,Python3.7.3的可執(zhí)行文件位于/usr/local/python/bin。先將系統(tǒng)自帶的Python重命名為python2.7.5,再創(chuàng)建新的Python到/usr/bin目錄下的符號(hào)鏈接。
mv /usr/bin/python /usr/bin/python2.7.5 #其實(shí)不要這句也行,加上了預(yù)防萬(wàn)一
ln -sf /usr/local/python/bin/python3.7 /usr/bin/python
再執(zhí)行python --version,可以看到已經(jīng)是3.7.3版了。
5、修正yum
現(xiàn)在,系統(tǒng)默認(rèn)調(diào)用Python 3.7.3,執(zhí)行yum會(huì)出現(xiàn)如圖四所示錯(cuò)誤。
解決方法:將/usr/bin/yum文件和/usr/libexec/urlgrabber-ext-down開頭的第一行代碼:
#!/usr/bin/python
修改為:
#!/usr/bin/python2.7.5
6、安裝setuptools和pip
玩Python不能沒有setuptools和pip。這里使用pip提供的安裝腳本,自動(dòng)安裝setuptools和pip。
wget https://bootstrap.pypa.io/get-pip.py
python get-pip.py
因?yàn)橹案牧薖ython的安裝目錄,Python擴(kuò)展模塊的可執(zhí)行文件會(huì)被安裝到/usr/local/python/bin目錄下。為了能夠直接運(yùn)行這些文件,我們要么創(chuàng)建到/usr/bin目錄下的符號(hào)鏈接,要么將/usr/local/python/bin目錄添加到PATH環(huán)境變量中。為了避免不必要的沖突,這里采用創(chuàng)建符號(hào)鏈接的方式。
ln -sf /usr/local/python/bin/pip /usr/bin/pip
ln -sf /usr/local/python/bin/easy_install-3.7 /usr/bin/easy_install
7、安裝Ipython
1)可以訪問(wèn)外網(wǎng)的情況下,通過(guò)pip安裝。
有了pip,安裝IPython簡(jiǎn)直So easy。(同樣將IPython的可執(zhí)行文件鏈接到/usr/bin目錄下)
pip install ipython
ln -s /usr/local/python/bin/ipython /usr/bin/ipython
2)在不能訪問(wèn)外網(wǎng)的情況下,通過(guò)源碼安裝。
ipython下載地址: https://pypi.org/project/ipython/#files
$ tar -xzf ipython-7.4.0.tar.gz
$ cd ipython-7.4.0
$ python setup.py install
8、安裝readline擴(kuò)展模塊
沒有readline支持的IPython弱得沒法用。這里安裝readline:
yum install readline-devel
yum install patch #相信我,不安裝這個(gè)就無(wú)法編譯readline
pip install readline
之后,IPython的高亮顯示和代碼補(bǔ)完等功能就可以用了,如圖六所示。當(dāng)然,現(xiàn)在的IPython只具備了最基本的功能,還有一些模塊沒有安裝,所以無(wú)法使用諸如并行計(jì)算、Qt Console、Notebook等功能。不過(guò)這不是我們這篇文章要討論的內(nèi)容了。以后有時(shí)間會(huì)寫一篇安裝使用IPython其他模塊和功能的文章。
圖六:安裝好的Ipython
啟動(dòng)ipython報(bào)錯(cuò)
ModuleNotFoundError: No module named 'plotly'
解決方法(缺少其他module,方法以此類推):
pip install plotly
pip install plotly --upgrade
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。