如何在Linux裡面手動安裝Python並且避免yum不能運作的問題

之前曾經寫過一個程式可以自動備份Linux裡的重要資料並且上傳到Google Storage,當時用的語言是Python 2.7,但是Linux裡面內建的Python是2.4,而且就算你用yum去進行升級,最高也只會到2.4,這時候你如果想要安裝更新版的Python就只能自行編譯了,下面將用Python 3.2進行教學

另外你的Linux如果有安裝yum的話,在安裝完新版的Python之後會遇到一個問題就是yum無法使用,這時你可以參考下面的教學把它修復,這是因為yum使用的是Python 2.4,現在你裝了新版的Python當然會不能使用囉~

1.請先到下面的網頁下載Python的原始碼

http://www.python.org/download/releases/

請下載附檔名為tgz的才是原始碼

wget -c http://www.python.org/ftp/python/3.2.1/Python-3.2.1.tgz

接者把剛下載的檔案解壓縮

tar -zxvf Python-3.2.1.tgz

2.進入剛剛解壓縮出來的資料夾

cd Python-3.2.1

然後輸入下面的指令來設定一些安裝參數並且檢查安裝環境

./configure –prefix=/usr

正常來講會跑很多東西,如果你只跑了幾行字就結束,而且最後三行不是「Creating ….」的話代表你電腦可能缺少一些需要的程式,通常是缺少make跟gcc,請先安裝好在開始裝Python

3.輸入指令:make

 

編譯中

4.等剛剛的指令跑完以後輸入:make install,這是開始安裝的意思

 

5.再來你的Linux如果有安裝yum的話,那可能會發生一些問題,請先輸入which yum取得他的位置,然後用vi開啟他

可能會出現的訊息:

There was a problem importing one of the Python modules
required to run yum. The error leading to this problem was:
No module named yum
Please install a package which provides this module, or
verify that the module is installed correctly.
It’s possible that the above module doesn’t match the
current version of Python, which is:

不過部分的人不會出問題,你可以執行看看yum是否會正常運作,如果你的yum正常就別亂動

6.把第一行「#!/usr/bin/python」改成「#!/usr/bin/python2.4」就會正常了

寫到最後才發現圖片背景竟然不一樣……XD

6 thoughts on “如何在Linux裡面手動安裝Python並且避免yum不能運作的問題”

  1. 我把python升级到2.7后,系统存在两个版本的python,一个是在/usr/local/中的2.7,一个是原来系统的2.4,但是,yum不能用了,即使将首行改成
    #!/usr/bin/python2.4也不行。报错如下:
    Traceback (most recent call last):
    File “/usr/bin/yum”, line 28, in ?
    import yummain
    File “/usr/share/yum-cli/yummain.py”, line 30, in ?
    from yum import _
    ImportError: cannot import name _

  2. 你好,我把我的python升級為2.7.6,然後在/usr/bin/yum修改第一行為#!/usr/bin/python2.4,仍然會出現”No module named yum”的錯誤。我的CENTOS6.5有python的三個版本(2.7,2.6,2.4,因為一直都沒解決這問題,所以安裝了幾個不同的版本)。在/usr/bin下的python情況:
    lrwxrwxrwx. 1 root root 24 May 3 20:53 python -> /usr/local/bin/python2.7
    lrwxrwxrwx. 1 root root 24 May 3 20:49 python2.4 -> /usr/local/bin/python2.4
    -rwxr-xr-x. 2 root root 9032 Jan 22 17:43 python2.6
    -rwxr-xr-x. 2 root root 9032 Jan 22 17:43 python_backup

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料