在 Ubuntu 系統上更新 Python

在 Ubuntu 系統上更新 Python

我想更新我的 Linux 機器上的 Python 版本,但我知道如何執行此操作的唯一方法是卸載當前版本並安裝新版本。我的系統已經是最新的(我昨天更新了)。我想知道是否有辦法從命令列更新特定程序,例如sudo apt-get update <program-name>.我知道這個命令不存在,但我希望有等效的命令。

答案1

正如其他人已經指出的那樣,baresudo apt-get install package將安裝最新的可用版本,並在需要時替換舊版本。

但對於某些軟體(其中包括Python)情況有所不同。一些主要的、非常不同且不相容的版本得到他們自己的包。例如,Python 2.6,Python 2.7,Python 3.1所有這些都位於 Ubuntu 上的單獨套件中。

特別重要的是,Ubuntu 的政策之一是廣泛使用 Python 來編寫最終使用者軟體。所以實際上系統的相當大一部分用Python寫的。目前,程式碼在 Python 2.6 上運行——因此該版本是安裝時的預設版本;和程式碼慣於可以輕鬆地在 Python 2.7 上運行——因為存在不相容性。要將系統切換到 Python 2.7,需要完成一項工作,包括更新和重新測試所有腳本。這並不容易做到;也就是說,您不能只是將系統「切換」到 Python 2.7 並刪除舊版本。

但。如果您不關心系統的奇特裝備而只需要更新的 Python,那麼沒有任何障礙。勇敢地sudo apt-get install python3為 3.x Python 編寫程式碼;只需記住python3使用shebang 行啟動腳本即可#!/usr/bin/env python3


更新:我一直看到這個被投贊成票;請注意這是9年前的答案, 事情變了。


接下來要學習什麼

來自一個超級用戶從(不是 Python 開發人員的)角度來看,我建議學習使用的接下來的東西:

  • pip// pip3python3 -m pip這是npmPython 的。快速提示:嘗試pip3 install --user howdoi(可能需要apt install python3-setuptools python3-pip一次,然後才能起作用)。那麼例如,howdoi --all compile python3 ubuntu.

  • 工具virtualenv。它 100% 面向開發人員,但您可能需要使用它(可能在一些包裝器下面,例如tox)來處理人們的原始碼包。
    Rubybundler或 Cabal 沙箱可能是熟悉的類似物。

  • conda工具 - 這是一個完全獨立的 python 套件儲存庫和安裝程式(想想:PyPi 的分支)。

巨大的2020 年 Python 生態系統中的工具種類繁多pip

基本陷阱

對於勇敢但粗心的人來說,嘗試在 Ubuntu 上手動設定較新的 CPython 時會遇到一些經典的陷阱。

  • /usr別管;你可以看,但不能碰。把它留給dpkg,以免給自己帶來一些混亂。您可以隨意/usr/local使用:

    sudo chown -R `whoami` /usr/local
    pip3 install --prefix=/usr/local pydf
    
  • 從原始碼編譯 CPython網路上有很好的解釋;只是不要忘記您的/usr/local前綴。這是手動測試 CPython 本身的修補程式和/或預發行版(那些 alpha 版本、rc 版本)的最佳方法。要擦除已建置的工件,您只需rm -rf /usr/local/*; sudo ldconfig.

  • 尋找購電協議也是不錯的選擇;請記住,購電協議只是其他人的私人建造。尋找運行 CI/CD 的可靠 PPA。

答案2

sudo apt-get install python 3.3.3

這是針對 python(3.3.3) 的,不同版本應使用對應的版本號。

答案3

sudo apt-get install python3.6

這會在 linux 中與 python 2 一起安裝 python 3。

python3

答案4

來自我們的姊妹網站:https://askubuntu.com/questions/44122/how-to-upgrade-a-single-package-using-apt-get

這些命令中的每一個都透過安裝進行更新,在許多情況下應該可以正常工作,但在特定情況下可能不是您想要的。

如果您只想升級特定的軟體包並且僅當它已安裝時,請使用以下命令:

sudo apt-get install --only-upgrade packagename

相關內容