-
centos7 自帶有 python,但是卻是 python2 版本的 python,如果你想安裝個python3怎么辦呢?
如果直接刪除python2的話,可能會引起其他的問題,因為有些東西是依賴python2的,最好的解決辦法是python3和python2共存,新安裝一個python3的環境。 -
1、先找到系統的python安裝在哪個目錄,查看對應版本號和相關安裝包
- cd / 先回到根目錄
- whereis python 查看python所在目錄/usr/bin
- cd /usr/bin 切到python目錄
- ll python* 查看python開頭的相關文件詳情
- 從查看的結果可以看到python指向的是python2 ,python2指向的是python2.7。那也就是在控制台輸入python、python2、python2.7都是運行python2.7
- 如果我們安裝一個python3.6的環境,讓python3指向3.6, python2指向python2.7, 那就可以完美的共存了
-
2、安裝python
- 2.1:從python安裝包的歷史版本中https://www.python.org/ftp/python/,找到需要的安裝包,比如我這里選3.6.8版本,復制鏈接地址:https://www.python.org/ftp/python/3.6.8/Python-3.6.8.tgz
-:2.2:在CentOS中新建一個文件夾,用於存放下載的python3安裝包,比如: /root/python36- cd到python36下,執行wget https://www.python.org/ftp/python/3.6.8/Python-3.6.8.tgz下載安裝包;
- 下載完成后,目錄中會多一個Python-3.6.8.tgz的壓縮包
- 2.1:從python安裝包的歷史版本中https://www.python.org/ftp/python/,找到需要的安裝包,比如我這里選3.6.8版本,復制鏈接地址:https://www.python.org/ftp/python/3.6.8/Python-3.6.8.tgz
[root@izwz93harfyh5lj9ko9u6az ~]# cd python36/
[root@izwz93harfyh5lj9ko9u6az python36]# wget https://www.python.org/ftp/python/3.6.8/Python-3.6.8.tgz
--2022-03-20 22:41:41-- 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 76.0KB/s in 8m 52s
2022-03-20 22:50:34 (42.3 KB/s) - ‘Python-3.6.8.tgz’ saved [23010188/23010188]
[root@izwz93harfyh5lj9ko9u6az python36]# ll
total 22472
-rw-r--r-- 1 root root 23010188 Dec 24 2018 Python-3.6.8.tgz
-:2.3:解壓文件,tar -xvf Python-3.6.8.tgz
[root@izwz93harfyh5lj9ko9u6az python36]# ll
total 22476
drwxr-xr-x 17 501 501 4096 Dec 24 2018 Python-3.6.8
-rw-r--r-- 1 root root 23010188 Dec 24 2018 Python-3.6.8.tgz
[root@izwz93harfyh5lj9ko9u6az python36]#
- 指定安裝目錄
- 解壓完之后需要編譯Python-3.6.8包下的文件,先cd過去執行完這句命令之后,把python的安裝目錄指定一下,這樣的話,里面的一些bin目錄、lib目錄就都會存放在這個目錄下面。
- 如果不指定這個安裝目錄的話,最后python的安裝文件將分散到linux的默認目錄,不在一塊。我們指定安裝目錄,以后卸載的話直接刪除目錄就可以干凈卸載了。
drwxr-xr-x 17 501 501 4096 Mar 20 22:58 Python-3.6.8
-rw-r--r-- 1 root root 23010188 Dec 24 2018 Python-3.6.8.tgz
[root@izwz93harfyh5lj9ko9u6az python36]# cd Python-3.6.8
[root@izwz93harfyh5lj9ko9u6az Python-3.6.8]# ./configure --prefix=/root/python36
- 安裝之前,我們需要先安裝一些依賴包與gcc編譯包(家目錄下運行即可)
- 依賴包:yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel mysql-devel
- gcc編譯包:yum install gcc gcc-c++ kernel-devel
- 編輯與安裝(必須在Python-3.6.8目錄下執行)
- make
- make install
- 到此為止,安裝已經完成了。
- 為了方便使用,我們需要將python3.6與pip3添加軟鏈接(windows中的桌面快捷方式)
- 添加軟鏈接方法:
- 找到需要添加的文件:find /root -name 名稱
- 添加軟鏈接:ln -s 原路徑 /usr/bin/名稱
- ln -s /root/python36/bin/python3.6 /usr/bin/python3
- ln -s /root/python36/bin/pip3 /usr/bin/pip3
[root@izwz93harfyh5lj9ko9u6az /]# python3
Python 3.6.8 (default, Mar 20 2022, 23:24:17)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-44)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()
[root@izwz93harfyh5lj9ko9u6az /]# pip3 -V
pip 18.1 from /usr/local/lib/python3.6/site-packages/pip (python 3.6)
[root@izwz93harfyh5lj9ko9u6az /]#