1. 程式人生 > >Linux下安裝升級python

Linux下安裝升級python

本文主要是參考帖子,感謝這位博主,我主要是對相關操作進行補充和說明。

本文主要是在linux(centos)下安裝Python3.7.1

 

1.下載安裝Python-3.7.1

1) 下載Python-3.7.1.tgz軟體包

  可以在官網上進行下載,或者利用Linux的wget工具。其中wget可以使用yum install wget來進行安裝

[[email protected] ~]# yum install wget
[[email protected] ~]# mkdir -p /server/tools/
[[email protected]
 tools]# cd /server/tools/ [[email protected] tools]# wget https://www.python.org/ftp/python/3.7.1/Python-3.7.1.tgz

 

2) 解壓編譯安裝

  對壓縮包進行解壓和安裝,但解壓前,需要確認安裝了make和gcc。

[[email protected] tools]# yum install make gcc gcc-c++

  還有,centOS7在編譯安裝Python3.7是,會缺少一個'ctypes'的檔案,詳細原因見這裡。因此需要安裝上這個軟體包

yum -y install libffi-devel

  之後就是對Python-3.7.1.tgz進行解壓安裝

[[email protected] tools]# yum install make gcc gcc-c++ 
[[email protected] tools]# tar -xf Python-3.7.1.tgz
[[email protected] tools]# cd Python-3.7.1
[[email protected] Python-3.7.1]# ./configure
[
[email protected]
 Python-3.7.1]# make [[email protected] Python-3.7.1]# make install

   注意,如果make之後出現這樣的錯誤“make *** 沒有指明目標並且找不到 makefile。 停止”,說明你忘記執行./configure,執行以下,再make,這裡參考了這篇文章

 

3) 安裝完成,需要更改預設的python版本

# 檢查當前預設的python2,預設自帶的python位置在”/usr/bin/“目錄下

[[email protected] Python-3.7.1]# ll /usr/bin/python*
-rwxr-xr-x  2 root root 9032 11月 22 2013 /usr/bin/python
lrwxrwxrwx. 1 root root    6 3月  20 2016 /usr/bin/python2 -> python
-rwxr-xr-x  2 root root 9032 11月 22 2013 /usr/bin/python2.7

# 檢查新安裝的python3,預設編譯安裝的python位置在”/usr/local/bin/“目錄下

[[email protected] ~]# ll /usr/local/bin/python*
lrwxrwxrwx. 1 root root        9 12月 18 15:28 /usr/local/bin/python3 -> python3.7
-rwxr-xr-x. 2 root root 13979632 12月 18 15:28 /usr/local/bin/python3.7
lrwxrwxrwx. 1 root root       17 12月 18 15:28 /usr/local/bin/python3.7-config -> python3.7m-config
-rwxr-xr-x. 2 root root 13979632 12月 18 15:28 /usr/local/bin/python3.7m
-rwxr-xr-x. 1 root root     3097 12月 18 15:28 /usr/local/bin/python3.7m-config
lrwxrwxrwx. 1 root root       16 12月 18 15:28 /usr/local/bin/python3-config -> python3.7-config

# 修改預設的python

# 刪除舊的python的軟連線,建立新的python2和python3的軟連線

[[email protected] Python-3.6.2]# cd /usr/bin/
[[email protected] bin]# rm -f python2
[[email protected] bin]# mv python python2.6.ori #這裡是參考別人的,但實際我的版本並沒有這個檔案,可能我忘了。
[[email protected] bin]# ln -s python2.7 python2
[[email protected] bin]# ln -s /usr/local/bin/python3 /usr/bin/python

 最後會形成這樣

[[email protected] ~]# ll /usr/bin/python*
lrwxrwxrwx. 1 root root   22 12月 18 15:31 /usr/bin/python -> /usr/local/bin/python3
lrwxrwxrwx. 1 root root    9 12月 18 15:41 /usr/bin/python2 -> python2.7
-rwxr-xr-x. 1 root root 7216 4月  11 2018 /usr/bin/python2.7

 

2.後續軟體問題

# python的預設版本修改為3.x之後,系統對於yum的呼叫會出問題,所以需要修改下yum的相關配置

[[email protected] bin]# vim /usr/bin/yum

# 需要檢查確認以下配置

#!/usr/bin/python2

# 這樣,修改後的yum依然可以呼叫python2.6.6的python,在使用yum安裝軟體時就不會報錯了

# 以上是在CentOS6.5系統上進行的python版本升級,CentOS7.2上面的預設python版本為2.7.5,可以使用相同的方法進行修改,不過CentOS7.2的python連結稍有不同,需要注意

[[email protected] ~]# ll /usr/bin/python*
lrwxrwxrwx. 1 root root    7 10月 26 2016 /usr/bin/python -> python2
lrwxrwxrwx. 1 root root    9 10月 26 2016 /usr/bin/python2 -> python2.7
-rwxr-xr-x. 1 root root 7136 11月 20 2015 /usr/bin/python2.7

# 另外就是,CentOS7.2還有另外一個檔案需要修改

[[email protected] ~]# vim /usr/libexec/urlgrabber-ext-down

# 檢查確認以下配置:

#!/usr/bin/python2