![在 Ubuntu 系統上更新 Python](https://rvso.com/image/1264401/%E5%9C%A8%20Ubuntu%20%E7%B3%BB%E7%B5%B1%E4%B8%8A%E6%9B%B4%E6%96%B0%20Python.png)
我想更新我的 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
//pip3
—python3 -m pip
這是npm
Python 的。快速提示:嘗試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