1. 程式人生 > >centos7上安裝或升級python3版本

centos7上安裝或升級python3版本

centos7上安裝python3.6.5
從官網上下載,目前最新版本是3.6.5
https://www.python.org/downloads/
然後解壓:
tar zxvf Python-3.6.5.tgz
然後新建待安裝目錄:
mkdir -p  /opt/server/python
cd Python-3.6.5
然後3步走:
./configure  --prefix=/opt/server/python/
make
make install
進入後看到,安裝成功了;
[email protected] python]# cd /opt/server/python/
[[email protected] python]# ls
bin  include  lib  share
然後執行bin下命令,檢視版本:
[
[email protected]
bin]#  /opt/server/python/bin/python3
Python 3.6.5 (default, May  6 2018, 17:22:16) 
[GCC 4.8.5 20150623 (Red Hat 4.8.5-16)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> 
>>> 
然後寫一個hello world 看看:
>>> print("hello world")
hello world
>>> 
ok 安裝完畢;
剩下就是版本切換的問題了;
檢視目前的centos7系統預設自帶的python版本:
[
[email protected]
python]# ll /usr/bin/python*
lrwxrwxrwx. 1 root root    7 Oct 15  2017 /usr/bin/python -> python2
lrwxrwxrwx. 1 root root    9 Oct 15  2017 /usr/bin/python2 -> python2.7
-rwxr-xr-x. 1 root root 7136 Aug  4  2017 /usr/bin/python2.7
[[email protected] python]# python
Python 2.7.5 (default, Aug  4 2017, 00:39:18) 
[GCC 4.8.5 20150623 (Red Hat 4.8.5-16)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 
如上,看到是2.7.5版本;
那為了正常使用剛剛安裝的 python3 ,可以在/usr/bin下建立一個軟連結,替換了剛才的2.7版本,或者直接命名為python3得了;
互不影響,如:
[
[email protected]
bin]# ln -s /opt/server/python/bin/python3.6   /usr/bin/python3
[[email protected] bin]# ln -s /opt/server/python/bin/pip3  /usr/bin/pip3
然後檢視:
[[email protected] bin]# python3
Python 3.6.5 (default, May  6 2018, 17:22:16) 
[GCC 4.8.5 20150623 (Red Hat 4.8.5-16)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
[[email protected] bin]# pip3 -V
pip 9.0.3 from /opt/server/python/lib/python3.6/site-packages (python 3.6)
ok,至此,python3已經安裝完畢,也並不影響系統預設自帶的2.7.5版本;
剩下還有個問題:
上面在建立軟連結的時候,沒有直接用相同的名稱python來覆蓋掉原理的2.7.5的bin;而是單獨建立了python3的軟連結;
但是如果上面直接覆蓋了原理的bin下的python,則這個時候就需要注意了:
因為yum 預設使用的是python2,上面替換為python3後可能會導致yum出問題,所以:
如果是軟連結直接覆蓋替換了2.7.5版本,則需要在yum的配置檔案中修改頭部環境變數行,顯示指定python2.7.5的bin位置;
1.具體操作:
開啟 vim  /usr/bin/yum
將第一行:#!/usr/bin/python    修改為   /usr/bin/python2.7
然後儲存即可;
但在使用yum的時候,還會保錯,比如:
SyntaxError: invalid syntax
  File "/usr/libexec/urlgrabber-ext-down", line 28
這個時候,還是因為環境變數行中預設是python3的環境變數而導致的,跟上面一樣:
開啟/usr/libexec/urlgrabber-ext-down 檔案

將   #! /usr/bin/python   修改為#! /usr/bin/python2.7   

其他工具或庫如果在安裝的時候也報類似的錯誤,比如vim /usr/bin/gnome-tweak-toool
那麼,都是以為被新版本python3覆蓋而導致;
將相關檔案的 #!/usr/bin/python  換成   #!/usr/bin/python2.7 就可以了;

今天簡單羅列了下在centos中安裝或升級python版本的過程,如果各位朋友發現其他問題,可以及時討論,共同學習成長;

【大家可搜尋並關注我的微信公眾號,名稱:jordy的世界
後續會有持續更新,更多精彩等著您!】