2010-03-30 60 views
49

在Python網站上有關於如何在Linux上的同一臺機器上安裝和運行多個版本的Python的官方文檔?同一臺機器上的官方多個Python版本?

我可以找到博客帖子和答案的gazillions,但我想知道是否有一個「標準」官方的做法呢?

或者這是否全部依賴於操作系統?

回答

55

我認爲它是完全獨立的。只需安裝它們,然後你就可以得到如下命令/usr/bin/python2.5/usr/bin/python2.6。鏈接/usr/bin/python到你想用作默認的那個。

無論如何,所有庫都位於單獨的文件夾中(以該版本命名)。

如果你想手動編譯版本,這是從Python源代碼的自述文件:

安裝多個版本

在Unix和Mac系統,如果您打算安裝多個版本Python 使用相同的安裝前綴(--configure 腳本的前綴參數),您必須注意您的主要python可執行文件不是由安裝不同版本的 覆蓋。所有使用「make altinstall」安裝的文件和 目錄都包含主版本和次版本,因此可以並排居住。 「make install」還會創建 $ {prefix}/bin/python3,它指向$ {prefix} /bin/pythonX.Y。如果您打算 使用相同的前綴安裝多個版本,則必須決定哪個版本(如果有)是您的「主要」版本。使用 「make install」安裝該版本。使用「make altinstall」安裝所有其他版本。例如,如果要安裝Python 2.5,2.6和3.0,其中2.6是 的主版本,則可以在2.6 build 目錄中執行「make install」,而在其他版本中執行「make altinstall」。

+3

謝謝,主要的「make install」和次要的「make altinstall」都說明了這一點。 – drozzy 2010-03-30 19:00:30

+4

在版本之間共享庫的正確方法是什麼?假設我有2.6的MySQLdb,然後安裝2.7。我如何使MySQLdb可用於2.7? – romeroqj 2011-05-12 16:47:24

+0

您提供的所有信息都是針對Unix/Linux和Mac OS的,因此OP顯然不是「完全獨立於」OS。對於Windows來說,這個過程非常不同,但同樣簡單。 – wwwayne 2015-12-08 01:10:22

0

它最依賴於您使用的包裹分發系統。例如,使用MacPorts,您可以安裝多個Python軟件包,並使用pyselect實用程序輕鬆切換它們之間的默認值。在任何時候,您都可以通過提供完整路徑來調用不同的Python解釋器,並且可以通過爲所有Python庫和標頭提供完整路徑來鏈接它們。

所以基本上,無論你安裝哪個版本,只要你保持你的安裝獨立,你就可以單獨運行它們。

+0

什麼是包裹分發系統? – drozzy 2010-03-30 18:27:51

+0

@drozzy:例如由OpenSuse使用的RPM,或由基於Debian的發行版或由Gentoo等使用的portage使用的RPM。基本上它是安裝軟件的工具。 – 2010-03-30 18:40:52

20

在Windows上,它們被安裝到單獨的文件夾「C:\ python26」和「C:\ python31」中,但可執行文件具有相同的「python.exe」名稱。

我創建了另一個「C:\ python」文件夾,它包含分別作爲「python26」和「python31」的包裝的「python.bat」和「python3.bat」,並添加了「C:\ python」環境變量PATH

這使我可以在我的.bat Python包裝中輸入pythonpython3來啓動我想要的一個。

在Linux上,您可以使用#!技巧來指定腳本使用哪個版本。

+0

要添加到這些.bat文件中的內容是什麼? – Aidis 2014-05-09 19:14:26

+0

只會因爲它非常適合Windows而提出這個答案,而問題在於Linux相關,否則就是很好的信息。 – 2015-09-27 20:56:35

+2

用戶不再存在,我真想該批處理文件 – Wargog 2016-01-07 19:03:49

3

如何安裝不同的Python版本確實取決於操作系統。

但是,如果您使用的是Linux,則可以使用類似於pythonbrewpythonz的工具來幫助您輕鬆管理和切換不同版本。

+0

我已經安裝在配置/ make altinstall的Mac上。目前沒有問題。 – Evgeny 2013-04-25 00:41:24

+0

'pyenv'在Ubuntu上運行良好:https://github.com/pyenv/pyenv – JHS 2018-03-01 16:30:17

1

如果您需要在的Ubuntu /薄荷安裝Python(旁邊的主要原因之一)的多個版本:(應該從事的其他Unixs類似)。

1)安裝所需的程序包的源編譯

$ sudo apt-get install build-essential checkinstall 
$ sudo apt-get install libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev 

2)下載並提取所需的Python版本

Download Python Source for Linux的壓縮包,並將其移動到/usr/src

提取下載的軟件包到位。 (替換「X與你下載的版本)

$ sudo tar xzf Python-x.x.x.tgz 

3)編譯並安裝Python源

$ cd Python-x.x.x 
$ sudo ./configure 
$ sudo make altinstall 

你的新的Python斌現在位於/usr/local/bin。您可以測試新版本:

$ pythonX.X -V 
Python x.x.x 
$ which pythonX.X 
/usr/local/bin/pythonX.X 

# Pip is now available for this version as well: 
$ pipX.X -V 
pip X.X.X from /usr/local/lib/pythonX.X/site-packages (python X.X) 
相關問題