1. 程式人生 > >Linux學習5-CentOS安裝Python3.6環境

Linux學習5-CentOS安裝Python3.6環境

down pre 當前目錄 etc python安裝 centos7 cti ln -s code

前言

centos7 自帶有 python,但是卻是 python2 版本的 python,如果你想安裝個python3怎麽辦呢?
如果直接刪除python2的話,可能會引起其他的問題,因為有些東西是依賴python2的,最好的解決辦法是python3和python2共存,新安裝一個python3的環境。

python2

先找到系統的python安裝在哪個目錄,查看對應版本號和相關安裝包
cd / 先回到根目錄
whereis python 查看python所在目錄/usr/bin
cd /usr/bin 切到python目錄
ll python* 查看python開頭的相關文件詳情

[root@yoyo /]# cd /
[root@yoyo /]#  whereis python
python: /usr/bin/python /usr/bin/python2.7 /usr/lib/python2.7 /usr/lib64/python2.7 /etc/python /usr/include/python2.7 /usr/share/man/man1/python.1.gz
[root@yoyo /]# cd /usr/bin
[root@yoyo bin]# ll python*
lrwxrwxrwx. 1 root root    7 Oct 15  2017 python -> python2
lrwxrwxrwx. 1 root root    9 Oct 15  2017 python2 -> python2.7
-rwxr-xr-x. 1 root root 7136 Aug  4  2017 python2.7
[root@yoyo bin]# 

從查看的結果可以看到python指向的是python2 ,python2指向的是python2.7。那也就是在控制臺輸入python、python2、python2.7都是運行python2.7

如果我們安裝一個python3.6的環境,讓python指向3.6, python2指向python2.7, 那就可以完美的共存了

安裝python3

安裝python3.6之前,先備份python包,因為一會要替換這個文件

[root@yoyo bin]# mv python python.bak

從python安裝包的歷史版本中https://www.python.org/ftp/python/,找到需要的安裝包,比如我這裏選3.6.8版本

技術分享圖片

從眾多的包裏面找到Python-3.6.8.tgz包,那麽下載地址拼接下就是:https://www.python.org/ftp/python/3.6.8/Python-3.6.8.tgz

技術分享圖片

在Centos 7系統裏面新建一個目錄,用於存放下載的python3安裝包,比如:/usr/local

[root@yoyo bin]# mkdir /usr/local/python3

cd到 /usr/local/python3目錄,用wget下載3.6.8安裝包

[root@yoyo python3]# wget https://www.python.org/ftp/python/3.6.8/Python-3.6.8.tgz

[root@yoyo bin]# cd /usr/local/python3
[root@yoyo python3]# wget https://www.python.org/ftp/python/3.6.8/Python-3.6.8.tgz
--2018-12-29 13:37:12--  https://www.python.org/ftp/python/3.6.8/Python-3.6.8.tgz
Resolving www.python.org (www.python.org)... 151.101.108.223, 2a04:4e42:1a::223
Connecting to www.python.org (www.python.org)|151.101.108.223|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 23010188 (22M) [application/octet-stream]
Saving to: ‘Python-3.6.8.tgz’

100%[===============================================================================>] 23,010,188  14.2MB/s   in 1.5s   

2018-12-29 13:37:14 (14.2 MB/s) - ‘Python-3.6.8.tgz’ saved [23010188/23010188]

[root@yoyo python3]# 

等待下載完成之後會在當前目錄下出現一個tgz包,tar命令解壓這個包到當前目錄就可以

[root@yoyo python3]# tar -xvf Python-3.6.8.tgz
[root@yoyo python3]# ll
total 22476
drwxr-xr-x 17  501  501     4096 Dec 24 11:01 Python-3.6.8
-rw-r--r--  1 root root 23010188 Dec 24 11:01 Python-3.6.8.tgz

解壓完之後需要編譯Python-3.6.8包下的文件,先cd過去執行完這句命令之後,把python的安裝目錄指定一下,這樣的話,裏面的一些bin目錄、lib目錄就都會存放在這個目錄下面。
如果不指定這個安裝目錄的話,最後python的安裝文件將分散到linux的默認目錄,不在一塊。我們指定安裝目錄,以後卸載的話直接刪除目錄就可以幹凈卸載了。

[root@yoyo python3]# cd Python-3.6.3
[root@yoyo python3]# ./configure --prefix=/usr/local/python3Dir

在當前目錄/usr/local/python3/Python-3.6.8執行make,執行完之後,接著輸入make install

[root@yoyo python3]# make

[root@yoyo python3]# make install

執行完畢之後,我們就可以切換到/usr/local/python3Dir目錄下去查看,python3.6在bin目錄

[root@yoyo bin]# cd /usr/local/python3Dir
[root@yoyo python3Dir]# ls
bin  include  lib  share
[root@yoyo python3Dir]# cd bin
[root@yoyo bin]# ls
2to3      idle3    pydoc3    python3    python3.6-config  python3.6m-config  pyvenv
2to3-3.6  idle3.6  pydoc3.6  python3.6  python3.6m        python3-config     pyvenv-3.6
[root@yoyo bin]# 

添加軟鏈接

由於系統默認的python是指向python2,前面已經刪除備份過了,這裏執行把新安裝的python3.6指向給/usr/bin/pythonn就可以了

[root@yoyo bin]# ln -s /usr/local/python3Dir/bin/python3 /usr/bin/python
[root@yoyo bin]# python -V
Python 3.6.8
[root@yoyo bin]# python
Python 3.6.8 (default, Dec 29 2018, 13:48:00) 
[GCC 4.8.5 20150623 (Red Hat 4.8.5-16)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()
[root@yoyo bin]# 

輸入python -V可以看到版本號,這樣系統默認的就是python3.6.8版本了,如果想用python2.7版本,直接輸入python2就可以了

[root@yoyo bin]# python2
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.
>>> exit()

yum配置

yum是依賴於python2的,所以需要更改yum裏面的python指向,vim打開 /usr/bin/yum

[root@yoyo Python-3.6.8]# vim /usr/bin/yum

#! /usr/bin/python修改為#! /usr/bin/python2

打開後輸入鍵盤上i鍵,進入編輯狀態,把第一行#! /usr/bin/python修改為#! /usr/bin/python2

技術分享圖片

編輯完之後,按ESC返回,輸入:wq保存退出

接著vim打開/usr/libexec/urlgrabber-ext-down

[root@yoyo Python-3.6.8]# vim /usr/libexec/urlgrabber-ext-down

#! /usr/bin/python 修改為#! /usr/bin/python2

Linux學習5-CentOS安裝Python3.6環境