CentOS7下安裝python3.8

環境的搭建是進行開發的第一步,python因爲存在python2和python3兩個版本,讓在建立python環境時造成不便,並且由於在Linux環境下不像Window環境安裝那麼友好,存在一些小坑。本教程記錄了CentOS7下安裝python3.8的過程和注意事項。

一、查看系統版本

[root@localhost ~]# cat /etc/centos-release
CentOS Linux release 7.2.1511 (Core)
[root@localhost ~]# uname -a
Linux localhost.localdomain 3.10.0-327.el7.x86_64 #1 SMP Thu Nov 19 22:10:57 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

查看python版本

[root@localhost ~]# python -V
Python 2.7.5

系統默認安裝了Python 2.7.5

二、安裝依賴

yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make

如果有提示一路選擇Y就可以。

安裝libffi-devel依賴。

yum install libffi-devel -y 

注意:如果不安裝這個包,python3可以裝成功,但是後面裝flask、uwsgi等依賴python3中有個內置模塊叫ctypes時會報錯。報錯ModuleNotFoundError: No module named ‘_ctypes‘。需要安裝依賴包和重新編譯安裝python3。 參看:https://blog.csdn.net/qq_36416904/article/details/79316972

三、下載python源碼包

python官網https://www.python.org/ 目前python最新版本是python3.10
下載Python源碼包

下載穩定版本3.8版

wget https://www.python.org/ftp/python/3.8.12/Python-3.8.12.tgz

四、解壓安裝python源碼包

1、解壓

tar -zxvf Python-3.8.12.tgz

2、安裝

進入解壓後的目錄進行編譯和安裝

cd Python-3.8.12/
[root@localhost Python-3.8.12]#
[root@localhost Python-3.8.12]# ./configure
[root@localhost Python-3.8.12]# make&&make install

執行完後顯示安裝成功
pyhont安裝成功

3、建立命令軟鏈接

雖然python3.8.12安裝成功了,但默認輸入python還是顯示是2.7版本的。如果要用python3.8.12需要輸入python3即可,有時候不太方便。可以通過修改軟鏈接的方式將默認的python指向python3.8.12。
先看一下默認的python及新安裝的python3都安裝在哪裏

[root@localhost Python-3.8.12]# which python
/usr/bin/python
[root@localhost Python-3.8.12]# which python3
/usr/local/bin/python3

可以看到默認的python路徑爲/usr/bin/python,python3的路徑爲/usr/local/bin/python3
將python3的軟鏈接加到python上

[root@localhost Python-3.8.12]# mv /usr/bin/python /usr/bin/python.bak
[root@localhost Python-3.8.12]# ln -s /usr/local/bin/python3 /usr/bin/python

通過python -V命令查看python版號,這時python的版本已經是3.8.12了。

[root@localhost Python-3.8.12]# python -V
Python 3.8.12

pip命令也可以修改,python3.8.12默認的pip是pip3,CentOS7的python2.7默認沒有安裝pip.
輸入pip命令的時候提示命令沒有找到

[root@localhost Python-3.8.12]# pip
bash: pip: command not found...

這時也可以通過建立軟鏈接的方式將pip命令鏈接到pip3上。首先看pip3命令在哪?

[root@localhost Python-3.8.12]# which pip3
/usr/local/bin/pip3

然後建立pip到pip3的軟鏈接

[root@localhost Python-3.8.12]# ln -s /usr/local/bin/pip3 /usr/bin/pip
[root@localhost Python-3.8.12]# pip -V
pip 21.1.1 from /usr/local/lib/python3.8/site-packages/pip (python 3.8)

五、配置yum

安裝python3改完軟鏈接以後發現yum命令報錯了,yum是依賴python2.7的,你把python改成了3.8了,所以報錯了。

[root@localhost Python-3.8.12]# yum
  File "/usr/bin/yum", line 30
    except KeyboardInterrupt, e:
                            ^
SyntaxError: invalid syntax

可以修改yum裏對python2的依賴即可。雖然安裝了python3但是系統裏python2依舊還在系統裏,可以通過python2來指定用python2.7的命令,首先來看下python2的命令在哪裏

[root@localhost ~]# which python2
/usr/bin/python2

可以cd到/usr/bin目錄下 通過ls -alh|grep python查看python命令的詳細情況。

[root@localhost bin]# ls -alh|grep python

python命令軟鏈接
可以看到python軟連接是執行的python3命令,python2是執行的python2.7的命令

vi /usr/libexec/urlgrabber-ext-down 

修改對python的依賴,修改成python2或python2.7都可以。
修改依賴

vi /usr/bin/yum

修改依賴

修改完這兩個文件後,再敲yum命令就不會報錯了。

至此CentOS7環境下python3.8.12已經成功安裝!

作者博客:http://xiejava.ishareread.com/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章