在 Visual Studio 中建立及管理 Python 環境
Python「環境」是您執行 Python 程式碼的內容,其中包含全域、虛擬和 Conda 環境。 環境是由解譯器、程式庫 (通常是 Python 標準程式庫) 及一組已安裝的套件所組成。 這些元件會共同決定有效的語言建構和語法、您可以存取的作業系統功能,以及您可以使用的套件。
在 Windows 上的 Visual Studio 中,您可以在本文所描述的 [Python 環境] 視窗中,管理環境並選取其中之一作為新專案的預設環境。 下列文章中可找到環境的其他方面:
針對任何指定的專案,您可以選取特定環境,而不使用預設環境。
如需針對 Python 專案建立和使用虛擬環境的詳細資料,請參閱使用虛擬環境。
如果您想要在環境中安裝套件,請參閱套件索引標籤參考。
若要安裝其他 Python 解譯器,請參閱安裝 Python 解譯器。 一般情況下,如果您下載及執行主線 Python 散發套件的安裝程式,Visual Studio 會偵測到有新的安裝和環境出現在 [Python 環境] 視窗中,因此可以選取專案。
注意
您可以針對以資料夾方式開啟的 Python 程式碼,選取 [檔案]>[開啟]>[資料夾] 來管理環境。 透過 Python 工具列,您可以在所有偵測到的環境間切換,還可新增新的環境。 環境資訊會儲存在工作區 PythonSettings.json
資料夾的 .vs
檔案中。
必要條件
- 已安裝 Python 工作負載。
如果您剛開始在 Visual Studio 中使用 Python,請參閱下列文章了解一般背景:
[Python 環境] 視窗
Visual Studio 知道的環境會顯示在 [Python 環境] 視窗中。 若要開啟視窗,可以使用下列方法之一:
- 選取 [檢視]>[其他視窗]>[Python 環境]。
- 在 [方案總管] 中,以滑鼠右鍵按一下專案的 [Python 環境] 節點,然後選取 [檢視所有 Python 環境]。
在 Visual Studio 中,[Python 環境] 視窗顯示在方案總管旁:
Visual Studio 會使用登錄尋找已安裝的全域環境 (在 PEP 514 之後),以及虛擬環境和 Conda 環境 (請參閱環境的型別)。 如果在清單中沒有看到您預期的環境,請參閱手動識別現有的環境。
當您在清單中選取環境時,Visual Studio 會在 [Python 環境] 視窗的 [概觀] 索引標籤上顯示該環境的各種屬性與指令。 [概觀] 索引標籤底部的命令各自都會開啟命令提示字元,其中已執行解譯器。 如需詳細資訊,請參閱 Python 環境視窗索引標籤參考 - 概觀。
使用環境清單下的下拉式清單,切換到不同的索引標籤,例如 [套件] 和 [IntelliSense]。 Python 環境視窗索引標籤參考也提供這些索引標籤的說明。
選取環境不會變更它與任何專案的關聯性。 在清單中以粗體顯示的預設環境,是 Visual Studio 用於任何新專案的環境。 若要使用不同環境來搭配新專案,請使用 [將此設定為新專案的預設環境] 命令。 在專案的內容中,您一律可以選取特定的環境。 如需詳細資訊,請參閱選取專案的環境。
在每個列出環境的右側,是可開啟該環境 [互動式] 視窗的控制項。 (在 Visual Studio 2017 15.5 版和更早版本中會出現另一個控制項,重新整理該環境的 IntelliSense 資料庫。如需資料庫的詳細資訊,請參閱 Python 環境視窗索引標籤參考。)
注意
雖然 Visual Studio 會遵守「系統-站台-套件」選項,但未提供從 Visual Studio 內變更它的方式。
如果沒有環境出現怎麼辦?
如果您在 [Python 環境] 視窗中沒有看到任何環境,表示 Visual Studio 無法偵測標準位置中的任何 Python 安裝。 您可能已安裝 Visual Studio 2017 或更新版本,但清除了 Python 工作負載安裝程式中的所有解譯器選項。 同樣地,您可能已安裝 Visual Studio 2015 或更早版本,但未手動安裝解譯器。 如需詳細資訊,請參閱安裝 Python 解譯器。
如果您知道電腦上已安裝 Python 解譯器,但 Visual Studio (任何版本) 沒有偵測到該解譯器,請使用 [+ 自訂] 命令來手動指定解譯器位置。 如需詳細資訊,請參閱如何手動識別現有環境。
環境類型
Visual Studio 可以使用全域、虛擬和 Conda 環境。
全域環境
每個 Python 安裝都會維護自己的「全域環境」。 例如,Python 2.7、Python 3.6、Python 3.7、Anaconda 4.4.0 等等。 如需詳細資訊,請參閱安裝 Python 解譯器。
每個環境是由特定的 Python 解譯器、其標準程式庫和一組預先安裝的套件所組成。 其中也包含您在啟動環境時安裝的任何其他套件。 將套件安裝到全域環境中,可將套件提供給使用該環境的所有專案使用。 如果環境位在檔案系統的受保護區域中 (例如 c:\program files 內),則安裝套件需要系統管理員權限。
全域環境可提供給電腦上的所有專案使用。 在 Visual Studio 中,您選取一個全域環境做為預設環境。除非您特別針對某個專案選擇不同的環境,否則所有專案都會使用預設環境。 如需詳細資訊,請參閱選取專案的環境。
虛擬環境
在全域環境中工作是一種簡單的入門方法。 經過一段時間,環境可能變得雜亂無章,因為其中包含您針對不同專案所安裝的許多不同套件。 這類雜亂可能讓您難以針對具有已知版本的特定套件集徹底測試您的應用程式。 但是,這種環境與您期望在組建伺服器或網頁伺服器上設定的環境完全相同。 當兩個專案需要的套件不相容,或是需要相同套件的不同版本時,也可能會發生衝突。
因此,開發人員通常會為專案建立虛擬環境。 虛擬環境是專案中子資料夾,其中包含特定解譯器的複本。 如果您啟用虛擬環境,您安裝的任何套件都只會安裝在該環境的子資料夾中。 當您在虛擬環境中執行 Python 程式時,可以確信程式只針對這些特定套件執行。
Visual Studio 對於建立專案的虛擬環境提供直接的支援。 如果開啟包含 requirements.txt
檔案的專案,Visual Studio 會自動提示您建立虛擬環境並安裝這些相依項。 當您從包含 requirements.txt
檔案的範本建立專案時,會看到相同的行為。
在開啟的專案內,您可以隨時建立新的虛擬環境。 在 [方案總管] 中,展開專案節點、以滑鼠右鍵按一下 [Python 環境],然後選擇 [新增環境]。 在 [新增環境]中,選擇 [虛擬環境]。 如需詳細資訊,請參閱建立虛擬環境。
Visual Studio 還會提供命令來從虛擬環境產生 requirements.txt
檔案,方便您在其他電腦上重新建立環境。 如需詳細資訊,請參閱使用虛擬環境。
Conda 環境
您可以使用 conda
工具,或是在 Visual Studio 2017 15.7 版及更新版本中使用整合式 Conda 管理建立 Conda 環境。 Conda 環境需要 Anaconda 或 Miniconda。 這些平台可透過 Visual Studio 安裝程式取得。 如需詳細資訊,請參閱在 Visual Studio 中安裝 Python 支援。
在 [Python 環境] 視窗 (或從 Python 工具列) 中選取 [新增環境],開啟 [新增環境] 對話方塊。
在 [新增環境] 對話方塊中,選取 [Conda 環境] 索引標籤:
設定下列欄位:
欄位 描述 計畫 識別要在其中建立環境的專案。 名稱 提供 Conda 環境的名稱。 新增套件自 指定如何將套件新增至 Conda 環境。
- 環境檔案:如果有描述相依性的environment.yml
檔案,請選取此選項。 輸入檔案的名稱或瀏覽 (...) 至檔案位置,然後選取檔案。
- 一個或多個 Anaconda 套件名稱:如果想要列出一個或多個 Python 套件或 Python 版本,請選取此選項。
套件清單會指示 conda 建立 Python 環境。 若要安裝最新版本的 CLI,請使用python
命令。 若要安裝特定版本,請如python=,major>.<minor>
中所述使用python=3.7
: 您也可以使用套件按鈕從一系列的功能表中選取 Python 版本和通用套件。設定為目前環境 建立環境之後,在所選取的專案中啟動新環境。 設為新專案的預設環境 在 Visual Studio 中建立的任何新專案中,自動設定並啟動 conda 環境。 此選項和使用 [Python 環境] 視窗中的 [將此設定為新專案的預設環境] 是一樣的。 在 [Python 環境] 視窗中檢視 指定是否要在建立環境之後顯示 [Python 環境] 視窗。 重要
建立 Conda 環境時,請務必至少指定一個 Python 版本或 Python 套件,以確保該環境包含 Python 執行階段。 您可以使用
environments.yml
檔案或套件清單。 如果您不提供此規格,Visual Studio 會忽略環境。 [Python 環境] 視窗中不會顯示環境、不會設為專案目前的環境,且無法做為全域環境。如果在沒有 Python 版本的情況下建立 Conda 環境,請使用
conda info
命令查看 Conda 環境資料夾的位置。 然後,您可以手動將環境的子資料夾從該位置移除。選取 建立。
您可以在 [輸出] 視窗中監視 Conda 環境的建立。 建立完成之後,輸出會顯示一些命令列介面 (CLI) 指示,例如
activate env
:在 Visual Studio 中,您可以像啟用任何其他環境一樣為您的專案啟用 Conda 環境。 如需詳細資訊,請參閱選取專案的環境。
注意
如需 Conda 環境的最佳結果,請使用 Conda 4.4.8 或更新版本。 請記住,Conda 版本與 Anaconda 版本不同。 您可以透過 Visual Studio 安裝程式安裝適當版本的 Miniconda (Visual Studio 2019 和 Visual Studio 2022) 及 Anaconda (Visual Studio 2017)。
若要查看 Conda 版本、Conda 環境的儲存位置以及其他資訊,請執行 Anaconda 命令提示字元 (亦即 Anaconda 所在路徑的命令提示字元) 中的 conda info
命令:
conda info
您的 Conda 環境資料夾隨即出現,如下所示:
envs directories : C:\Users\user\.conda\envs
c:\anaconda3\envs
C:\Users\user\AppData\Local\conda\conda\envs
因為 Conda 環境未隨專案儲存,所以其行為方式與全域環境類似。 例如,將新套件安裝到 Conda 環境之後,所有使用該環境的專案都能取得該套件。
若為 Visual Studio 2017 15.6 或較舊版本,您可以如手動識別現有的環境中所述手動指向它們來使用 Conda 環境。
Visual Studio 2017 15.7 版和更新版本會自動偵測 Conda 環境,並在 [Python 環境] 視窗中顯示它們,如下一節所述。
手動識別現有的環境
請依下列步驟識別安裝在非標準位置中的環境:
在 [Python 環境] 視窗 (或從 Python 工具列) 中選取 [新增環境],開啟 [新增環境] 對話方塊。
在 [新增環境] 對話方塊的 [現有環境] 索引標籤上,將 [環境] 欄位設定為 <[自訂]>:
選取 [自訂]<> 值之後,將有更多欄位新增至對話方塊。
將 [前置路徑] 欄位設定為解譯器的路徑。 您可以瀏覽 (...) 將欄位設定為路徑位置。
選取路徑之後,即會填入其餘欄位。 檢查值並視需要進行修改。 準備就緒後,選取 [新增]。
您也可以隨時在 [Python 環境] 視窗中檢閱和修改環境的詳細資料。
在 [Python 環境] 視窗中,選取環境,然後選取 [設定] 索引標籤。
變更之後,選取 [套用] 命令。
您也可以使用 [移除] 命令移除環境。 如需詳細資訊,請參閱 [設定] 索引標籤。此命令不適用於自動偵測的環境。
修正或刪除無效的環境
若 Visual Studio 找到環境的登錄項目,但解譯器的路徑無效,[Python 環境] 視窗就會以有刪除線的字型顯示名稱,如下圖中所示:
若要更正您想保留的環境,請先嘗試使用環境安裝程式的 [修復] 處理序。 大部分安裝程式都包含修復選項。
修改登錄以更正環境
如果 Python 環境沒有修復選項,或要移除無效的環境,請直接依下列步驟修改登錄。 Visual Studio 會在您對登錄進行變更時,自動更新 [Python 環境] 視窗。
執行
regedit.exe
可執行檔以開啟登錄編輯程式。瀏覽至與您的組態對應的環境資料夾:
Python 版本 Folder 64 位元版本 HKEY_LOCAL_MACHINE\SOFTWARE\Python 或 HKEY_CURRENT_USER\Software\Python 32 位元版本 HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Python IronPython IronPython 展開環境的發行和版本節點結構:
Distribution 節點 CPython PythonCore><版本節點> Anaconda ContinuumAnalytics><版本節點> IronPython <版本節點> 檢查 InstallPath 節點下的值:
- 如果環境仍存在於您的電腦上,請將 ExecutablePath 項目的值變更為正確位置。 如有必要,也請修正 (預設) 和 WindowedExecutablePath 項目的值。
- 如果環境不再存在於您的電腦上,而您想要從 [Python 環境] 視窗中將其移除,請刪除 InstallPath 的版本號碼父節點。 上圖中顯示了此節點的範例。 在此範例中,節點是 3.6。
警告
HKEY_CURRENT_USER\SOFTWARE\Python 索引鍵中的無效設定會覆寫 HKEY_LOCAL_MACHINE\SOFTWARE\Python 索引鍵中的設定。
刪除或移除 Python 環境
若要移除 Python 專案,請在 [方案總管] 中瀏覽至 Python 環境。 以滑鼠右鍵按一下想要移除的 Python 環境,然後選取 [移除]。
如果想要保留 Python 環境,但將其從專案中移除,請選取 [移除]。 如果想要永久刪除環境,請選取 [刪除]。