CentOS7安裝python3.7.3

1.下載及解壓
python3.7的安裝包可從官網下載上傳到主機,也可以用wget直接下載。

[root@yuioplvlinux-130 ~]# cd /usr/local/
[root@yuioplvlinux-130 local]# wget https://www.python.org/ftp/python/3.7.3/Python-3.7.3.tar.xz
[root@yuioplvlinux-130 local]# tar xvJf Python-3.7.3.tar.xz
[root@yuioplvlinux-130 local]# mv Python-3.7.3 /usr/local/python3/python3.7
[root@yuioplvlinux-130 local]# cd /usr/local/python3/python3.7/

若上傳到主機安裝

xz -d Python-3.7.3.tar.xz 
tar -xvf Python-3.7.3.tar 

2.安裝
安裝之前,首先安裝python依賴的包;

[root@yuioplvlinux-130 python3.7]# yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel gcc-c++ libffi-devel

配置編輯參數;

[root@yuioplvlinux-130 python3.7]# ./configure --prefix=/usr/local/python3/python3.7


然後編譯和安裝:“make”、“make install”;

安裝完成後,若出現以下兩行,說明安裝成功;

Installing collected packages: setuptools, pip
Successfully installed pip-10.0.1 setuptools-39.0.1


也可以用“echo $?”查看,結果爲0說明安裝成功;

然後就可以使用python3了。

[root@yuioplvlinux-130 python3.7]# /usr/local/python3/python3.7/bin/python3
Python 3.7.7 (default, Jul 21 2018, 13:45:48) 
[GCC 4.8.5 20150623 (Red Hat 4.8.5-28)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> 


可以看到,雖然成功安裝了python3.7,但是執行起來命令特別長,可以把python命令指向到到python3。

首先查看python命令的絕對路徑,可以看到它是通過軟鏈接執行到python2.7的。

[root@yuioplvlinux-130 ~]# python -V   #查看python的默認版本
Python 2.7.5
[root@yuioplvlinux-130 ~]# which python   #查看python命令的絕對路徑
/usr/bin/python
[root@yuioplvlinux-130 ~]# ll /usr/bin/ |grep python
lrwxrwxrwx. 1 root root         7 7月  15 19:58 python -> python2
lrwxrwxrwx. 1 root root         9 7月  15 19:58 python2 -> python2.7
-rwxr-xr-x. 1 root root      7136 8月   4 2017 python2.7


那我們也可以做一個軟鏈接指向到python3命令。

[root@yuioplvlinux-130 ~]# rm -rf /usr/bin/python   #刪除原有的軟鏈接文件
[root@yuioplvlinux-130 ~]# ln -s /usr/local/python3/python3.7/bin/python3 /usr/bin/python
[root@yuioplvlinux-130 ~]# ll /usr/bin/ |grep python
lrwxrwxrwx. 1 root root        38 7月  21 14:18 python -> /usr/local/python3/python3.7/bin/python3
lrwxrwxrwx. 1 root root         9 7月  15 19:58 python2 -> python2.7
-rwxr-xr-x. 1 root root      7136 8月   4 2017 python2.7


現在python的默認版本就是python 3.7.3了。

[root@yuioplvlinux-130 ~]# python -V
Python 3.7.3
[root@yuioplvlinux-130 ~]# python
Python 3.7.3 (default, Jul 21 2018, 13:45:48) 
[GCC 4.8.5 20150623 (Red Hat 4.8.5-28)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> 


 

修改完python的默認版本後,會存在一個問題,無法執行yum命令,修改yum命令文件,將頭文件改爲python2.7即可。

[root@yuioplvlinux-130 ~]# vim /usr/bin/yum
#!/usr/bin/python2.7   #將頭文件改爲python2.7


同樣的,將pip也指向到python3.7。

[root@yuioplvlinux-130 ~]# ln -s /usr/local/python3/python3.7/bin/pip3 /usr/bin/pip
[root@yuioplvlinux-130 ~]# pip --version
pip 10.0.1 from /usr/local/sbin/python-3.7/lib/python3.7/site-packages/pip (python 3.7)

注意:在更換python3後,yum、firewall(防火牆)會出現問題(因爲他們依賴於python2實現),所以根據錯誤提示,修改配置文件,如yum所示。

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