Python易于使用,對初學者友好,功能強大,幾乎可以為任何應用程序創建強大的軟件。
但與任何其他軟件一樣,Python 的設置和管理可能很復雜。
在本文中,我們將介紹如何正確設置 Python。
您將學習如何選擇合適的版本、如何防止多個版本相互干擾以及如何避免出現尖銳問題和潛在的陷阱。
選擇正確的 Python 版本和發行版
在任何一個時間點,Python 的幾個不同版本都在積極接收更新或至少是安全修復。
您可能認為選擇最新版本是有意義的。
但是,為了與第三方模塊兼容,選擇比當前版本落后一個主要修訂點的 Python 版本始終是最安全的。
在撰寫本文時,Python 3.12 是最新發布的版本。因此,最安全的做法是使用最新更新的 Python 3.11。
您可以隨時以可控的方式試用最新版本(稍后會詳細介紹),但回退一個版本可以保證與常見的第三方 Python 包的最佳兼容性。
Python 和 Linux 一樣,也有各種發行版。但與 Linux 不同的是,Python 提供了一個您可以隨時使用的黃金標準“官方”版本:CPython,這是Python.org上 Python 軟件基金會提供的版本。
這是最安全、兼容性最廣泛的發行版,沒有人會因為使用它而被解雇。您可能還想研究其他針對特定用例的 Python 發行版,但我們不會在這里討論它們。
您可能需要做出的一個關鍵選擇(尤其是在 Windows 上)是使用 32 位還是 64 位版本的 Python。最有可能的答案是 64 位,原因如下:
大多數現代操作系統默認使用 64 位版本的 Python。Windows 用戶可以在 64 位 Windows 上運行 32 位版本的 Python,但性能會略有下降。
32 位 Python 和 32 位應用程序通常一次只能訪問 4GB 內存。64 位應用程序沒有此限制,因此許多 Python 數據分析和機器學習工具在 64 位版本中效果最佳。有些工具僅提供 64 位版本。
只有在你只能使用 32 位版本的 Windows 時,或者你需要使用僅在 32 位版本中提供的第三方模塊時,你才應該選擇 32 位版本的 Python。由于這種情況越來越少見,因此 64 位是常見的選擇。
如何在 Windows 上安裝 Python
Python 在 Windows 上的安裝方式與任何其他應用程序類似,通過安裝程序引導您完成安裝過程。
默認情況下,Windows 版 Python 安裝程序會將其可執行文件放在用戶AppData目錄中,這樣就不需要管理權限了。
如果您是系統上的唯一用戶,您可能希望將 Python 放在更高級別的目錄中(例如C:\Python312),以便于查找。Windows 安裝程序允許您指定目標目錄。
為 Windows 選擇正確的 Python 安裝程序
Python.org 為 Windows 提供了各種版本的 Python。
除了前面提到的 32 位(“x86”)和 64 位(“x86-64”)版本外,您還可以選擇可嵌入的 zip 文件、可執行安裝程序和基于 Web 的安裝程序。以下是這些版本的全部內容:
可執行安裝程序:只是一個.exe運行 Python 安裝過程的文件。這是最簡單的默認選擇,也是最常用的。
基于 Web 的安裝程序:與可執行安裝程序相同,只是它會單獨下載執行安裝所需的部分。這大大減少了實際安裝程序的大小,但當然,它需要網絡連接。
可嵌入的 zip 文件:是 Python 運行時的獨立、最小副本,可放在單個文件夾中,沒有任何依賴項。
當您想要手動分發 Python 應用程序,或者需要快速、一次性安裝 Python 來動態測試某些東西時,捆綁它很有用。
但是可嵌入的 zip 不包含pip完整安裝附帶的任何其他有用工具,因此僅供專家使用。
使用 Windows 包管理器安裝 Python
另一個選擇是使用 Windows 包管理系統之一來安裝 Python。
Windows 11 現在預裝了微軟自己的包管理解決方案Winget。(如果您使用的是 Windows 10,則可以手動安裝winget。)
您可以通過指定版本從 Python.org 安裝 Python 的官方版本,例如: winget install Python.Python.3.11,或者使用winget search Python.Python來查找可用的版本。
其他 Windows 包管理工具也提供 Python。.NET 的包管理器 NuGet在其存儲庫中提供 Python。但是,提供 Python 主要是為了將其用作.NET 應用程序中的組件,而不是作為一種安裝 Python 獨立實例以供一般使用的方式。
如果您以常規方式安裝 Python,您可能會發現 Python 實例更易于管理。
Chocolatey是一款更通用的 Windows 包管理系統,也提供 Python。
Chocolateywinget是一種運行 Python 安裝程序和跟蹤系統中 Python 語言運行時存在的便捷方式,因此它是比 NuGet 更好的選擇。
但是,最好避免在同一系統上混合使用 Chocolatey 安裝、Python 安裝和手動安裝。最好總體上確定一個包管理解決方案并堅持使用。
如何在 Linux 上安裝 Python
由于 Linux 發行版差異很大,在 Linux 上安裝 Python 的典型方法是使用特定發行版的包管理器。
例如, Ubuntu和Fedora安裝 Python 的過程完全不同。在 Linux(和 macOS)上,安裝的目標目錄通常是預先確定的,并基于 Python 版本號,例如/usr/bin/python3.X在 Linux 上,或/usr/local/opt/python/在 Mac 上。
另一個用于管理多個 Python 安裝的 Linux 工具是pyenv。它允許您安裝多個并行的 Python 版本,并在它們之間自由切換,無論是系統范圍還是每個項目。
請注意,它pyenv會構建您為系統安裝的每個版本的 Python,因此您需要事先安裝 Python 構建依賴項。
避免處理 Linux 包管理器的復雜性的一種方法是使用容器化的 Python 運行時。容器獨立于系統的其余部分運行,因此您不必擔心不同的 Python 運行時會相互干擾。
但是,如果您的工作流程尚未包含容器,則需要投入時間和精力來熟悉 Docker。(請注意,您也可以在 Windows 上使用容器化的 Python。)
如何在 macOS 上安裝 Python
傳統上,macOS 會預裝一個版本的 Python,但最新版本不會高于 Python 2.7。
當 Python 3 問世時,這帶來了問題,因為這兩個版本經常發生沖突。
官方 Python 文檔對此有一些說明,但除了確保您使用所需的 Python 實例的正確路徑之外,它沒有提供任何更詳細的建議。
在 macOS 上管理 Python 運行時的常用方法是通過Homebrew 包管理器,這是一個非官方(即不是 Apple 創建的)項目,已成為 Mac 上包管理的事實標準。
Homebrew 提供了一致的界面,用于下載、安裝、管理和刪除 Python 和其他第三方命令行應用程序。
Python 安裝技巧和應避免的陷阱
我們討論了在 Windows、Linux 和 macOS 上安裝 Python 的基礎知識。
最后,我們來總結一下三種需要更多技巧的常見安裝場景。?
如何不安裝 Python 包(以及如何安裝)
一旦設置了 Python 版本的基礎安裝,就不要開始直接在其中安裝軟件包pip—不,即使您只打算在一個項目中使用 Python。
設置您的項目目錄,在其中安裝 Python 虛擬環境,然后將軟件包安裝到這些虛擬環境中。這樣,基礎安裝就會保持干凈。
要以高級方式管理具有虛擬環境和依賴項的多個項目,請查看Poetry 項目。Poetry 提供了一個命令行工具,用于高級管理虛擬環境和依賴項。
如何并排安裝多個 Python 版本
處理 Python 安裝時最困難的問題是如何處理并排安裝的不同版本的 Python。這里適用兩個通用經驗法則:
始終將每個版本安裝在不同的目錄中。
確保所有系統路徑都配置為首先指向您想要默認運行的版本。
運行多個 Python 版本強烈支持每個項目都使用虛擬環境。激活虛擬環境后,項目上下文中的所有 Python 活動都會自動定向到正確的 Python 版本。
對于 Windows 用戶來說,另一個選項是py啟動器應用,它允許您控制在安裝多個 Python 版本時使用哪個版本。
在 Python 安裝過程中,您可以選擇安裝啟動器py,這是一個小型可執行文件,允許您(通過命令行標志)選擇要為給定腳本使用哪個版本的 Python。
例如,要運行pipPython 3.11,您需要輸入py -3.11 -m pip。
如何在虛擬環境中升級 Python 版本
Python 的小版本升級(例如,從 Python 3.11.2 升級到 Python 3.11.3)通常相當容易。
在 Windows 上,安裝程序會檢測現有版本并對其進行升級。
在 Linux 和 macOS 上,安裝程序或包管理器通常會執行相同的操作。
但是,您創建的任何虛擬環境也需要升級;它們不會自動升級。要在虛擬環境中升級 Python,只需導航到虛擬環境目錄并輸入venv --upgrade。再次注意,這僅適用于小點修訂升級。
如果您要執行重大點修訂升級,例如從 Python 3.11 升級到 Python 3.12,最好的辦法是使用venv在項目目錄中創建一個新的、單獨的虛擬環境子目錄,將任何依賴項重新安裝到其中,然后切換到使用新的虛擬環境。
大多數支持 Python 的 IDE(例如 Microsoft Visual Studio Code)都會檢測項目中的多個虛擬環境并允許您在它們之間切換。