在 Visual Studio 中選取專案的 Python 環境

在 Python 專案中的所有程式碼,都是在特定環境的內容中執行。 這些環境可以是全域 Python 環境、Anaconda 環境、虛擬環境或 conda 環境。 Visual Studio 使用 Python 環境進行偵錯、匯入和成員完成,以及語法檢查。 此環境用於任何需要 Python 版本和一組已安裝套件特定語言服務的工作。

在 Visual Studio 中,您可以為專案建立多個環境,並根據您的特定開發需求在兩者之間切換。 所有新的 Python 專案一開始都會設定為使用預設全域環境。 您可以在 方案總管[Python 環境] 節點下查看項目的環境:

Screenshot that shows the global default Python environment for a project in Solution Explorer in Visual Studio.

必要條件

  • Visual Studio。 若要安裝產品,請遵循安裝 Visual Studio 中的步驟。

  • 您只能切換現有的環境。 如果您沒有預設全域環境以外的環境,請參閱下列有關使用 虛擬環境的章節。 如需詳細資訊,請參閱 在Visual Studio中建立和管理 Python 環境。

切換目前的項目環境

在 Visual Studio 中,您可以使用 [新增環境] 功能,在 方案總管 或從工具列變更 Python 專案的使用中(目前)環境環境

  1. 啟動 [ 新增環境 ] 程式:

    • 方案總管 中,以滑鼠右鍵按兩下專案的 [Python 環境] 節點,然後選取 [新增環境]。
    • 或者,在 Python 工具列上,從 [環境] 下拉功能表中選取 [新增環境]。

    Screenshot that shows the two options to access the Add Environments feature in Visual Studio.

  2. 在 [新增環境] 對話框中,選取 [現有環境] 索引卷標。展開 [環境] 下拉式清單,然後選擇所需的環境,然後選取 [新增]。

    Screenshot that shows how to select a project environment in the Add Environments dialog in Visual Studio.

注意

如果未列出您想要使用的環境,您可能需要 手動識別現有的環境

使用虛擬環境

虛擬環境是特定 Python 解釋器的唯一組合,以及一組不同於其他全域和 conda 環境的特定連結庫。 虛擬環境專屬於專案,且會在專案子資料夾中維護。 資料夾包含環境的已安裝連結庫,以及 pyvenv.cfg 檔案,指定文件系統上環境 基底解釋器 的路徑。 (虛擬環境不包含解釋器的複本,只有一個連結。

使用虛擬環境的其中一個優點是,當您隨著時間開發專案時,虛擬環境一律會反映您專案的確切相依性。 此行為與共用全域環境不同,無論您是否在專案中使用這些連結庫,都包含任意數目的連結庫。 從虛擬環境中,您可以輕鬆地建立 requirements.txt 檔案,用來在其他開發或生產計算機上重新安裝套件相依性。 如需詳細資訊,請參閱使用 requirements.txt 管理必要套件

當您在 Visual Studio 中開啟的專案包含 requirements.txt 檔案時,Visual Studio 會自動提供可讓您重新建立虛擬環境的選項。 在未安裝 Visual Studio 的電腦上,您可以使用 pip install -r requirements.txt 命令來還原必要的套件。

因為虛擬環境包含基底 Python 解釋器的硬式編碼路徑,而且您可以使用 requirements.txt 檔案來重新建立環境,因此您通常會省略原始檔控制中的環境子資料夾。 將虛擬環境新增至項目之後,它會出現在 [Python 環境] 視窗中。 然後,您可以像任何其他環境一樣加以啟用,並管理其套件。

建立虛擬環境

您可以依照下列方式,直接在 Visual Studio 中建立新的虛擬環境:

  1. 啟動 [ 新增環境 ] 程式:

    • 方案總管 中,以滑鼠右鍵按兩下專案的 [Python 環境] 節點,然後選取 [新增環境]。
    • 或者,在 Python 工具列上,從 [環境] 下拉功能表中選取 [新增環境]。
  2. 在 [ 新增環境] 對話框中,選取 [ 虛擬環境] 索引 卷標:

    Screenshot of the Virtual environment tab of the Add Environment dialog box in Visual Studio.

  3. 設定必要的欄位:

    必要欄位 描述
    計畫 識別要在其中建立環境的專案。
    名稱 提供新虛擬環境的名稱。
    基底解釋器 指定虛擬環境的基底語言解釋器。
    地點 系統會指派虛擬環境的預設位置。 若要變更位置,請選取 [變更虛擬環境位置 ] 連結,流覽至位置,然後選擇 [ 選取資料夾]。
  4. 設定任何所需的選擇性欄位:

    選擇性欄位 描述
    從檔案安裝套件 指定requirements.txt檔案的路徑,以將套件新增至虛擬環境。 輸入檔案的位置和名稱,或流覽 (...) 至位置,然後選取檔案。
    將設定為目前的環境 在建立環境之後,在選取的項目中啟動新的環境。
    設定為新項目的默認環境 在 Visual Studio 中建立的任何新專案中自動設定及啟用環境。 此設定也可透過 [Python 環境] 視窗中的 [將此為新項目的默認環境] 選項取得。 當您使用此選項時,請將虛擬環境放在特定專案外部的位置。
    在 Python 環境視窗中檢視 指定是否要在建立新環境之後顯示 [Python 環境] 視窗。
    讓此環境在全球可用 指定虛擬環境是否也應該作為全域環境。 當您使用此選項時,請將虛擬環境放在特定專案外部的位置。
  5. 選取 [建立] 以完成虛擬環境。

Visual Studio 在設定環境並下載任何必要套件時,會顯示進度列。

程式完成之後,Visual Studio 會啟動新的虛擬環境,並將它新增至 方案總管 中的 [Python 環境] 節點。 此環境也可在 包含專案的 [Python 環境] 視窗中取得。

啟動環境

請遵循下列步驟來啟用項目的現有環境:

  1. 方案總管 中,展開專案的 [Python 環境] 節點,然後找出您想要使用的環境。

  2. 以滑鼠右鍵按兩下環境,然後選取 [ 啟用環境]。

    Screenshot that shows how to activate a project environment in Visual Studio.

    如果 Visual Studio 在該環境中偵測到 requirements.txt 檔案,便會詢問是否要安裝那些套件。

    Visual Studio 啟動環境之後,使用中環境的名稱會以粗體字型顯示,方案總管

    Screenshot that shows how Visual Studio shows the name of the active environment in a bold font in Solution Explorer.

移除虛擬環境

請遵循下列步驟來移除項目的現有環境:

  1. 在 [方案總管] 中,以滑鼠右鍵按一下虛擬環境然後選取 [移除]

  2. Visual Studio 會詢問您是否要移除或刪除虛擬環境。

    • 選取 [移除 ] 讓環境無法使用專案,但將其保留在文件系統上。
    • 選取 [ 刪除 ] 以同時從專案移除環境,並從檔案系統中刪除它。 基底解譯器不會受到影響。

檢視和管理已安裝的套件

在 方案總管 中,您可以檢視和管理環境中安裝的套件。 當環境為使用中時,這些套件可以匯入並用於程式代碼中。

  • 若要快速檢視環境中安裝的套件,請在 方案總管 中專案的 [Python 環境] 節點下展開環境節點:

    Screenshot that shows Python packages for an environment in Solution Explorer in Visual Studio.

  • 若要安裝新的套件或管理現有的套件,請以滑鼠右鍵按兩下環境節點,然後選取[ 管理 Python 套件]。 您也可以在 Python 工具列上使用套件按鈕:

    Screenshot that shows how to access the Manage Python packages option for an environment in Solution Explorer.

    [Python 環境] 視窗隨即開啟,並在 [套件] 索引卷標上顯示所選環境的已安裝套件:

    Screenshot that shows the current packages for the selected environment in the Python Environments window.

    在 Visual Studio 中,大部分環境的套件和相依性都是從 Python 套件索引 (PyPI) 下載,您也可以在其中搜尋可用的套件。 Visual Studio 的狀態列和輸出視窗會顯示與該安裝相關的資訊。

  • 若要卸載(移除)套件,請在清單中找出套件,然後選取右側的 x 圖示。

  • 若要尋找套件或其他套件的更新版本,請輸入搜尋字詞(通常是套件名稱):

    Visual Studio 會顯示相符的套件。 在此範例中,搜尋會尋找符合字詞 閃爍的套件。

    Screenshot that shows how Visual Studio shows how to search for matching packages in the Python Environments window.

    Visual Studio 會將比對結果清單顯示為使用中的命令連結。

    • 第一個命令會將套件重新整理為最新的版本和目前的相依性。 這個指令類似於 Run command: pip install <package-name>。 如果您在搜尋字詞之後選取 Enter,Visual Studio 會自動執行這個第一個命令。

    • 其他連結適用於安裝特定套件、版本或相依性之命令,例如 Install blinker-async (0.0.3)。 若要執行下列其中一個命令,請選取連結。

套件安裝的相關考慮

當您在 Visual Studio 中使用套件時,請記住下列考慮:

  • 請記住,套件的顯示專案在最新版本或可用性方面可能不正確。 針對套件顯示的安裝和卸載資訊可能不可靠或可用。

  • Visual Studio 會使用 pip 套件管理員 (如果可用),並會在必要時下載並安裝它。 Visual Studio 也可以使用 easy_install 套件管理員。 也會顯示使用 pipeasy_install 命令從命令行安裝的套件。

  • 有一個 pip 無法安裝套件的常見情況,就是當套件的 *.pyd 檔案中包含原生元件的原始程式碼。 若未安裝必要的 Visual Studio 版本,pip 就無法編譯這些元件。 此情況中顯示的錯誤訊息是「錯誤: 找不到 vcvarsall.bat」easy_install此命令通常能夠下載先行編譯的二進位檔,而且您可以從 下載適用於舊版 Python https://python.en.uptodown.com/windows/versions的編譯程式。 如需詳細資訊,請參閱 Python 工具小組部落格上的如何處理「找不到 vcvarsallbat」 的痛苦。

  • Conda 套件管理員通常會使用 https://repo.continuum.io/pkgs/ 作為預設通道,但也有其他通道可供使用。 如需詳細資訊,請參閱管理通道 (docs.conda.io)。

  • Visual Studio 目前不支援使用 conda 命令將套件安裝到 conda 環境中。 conda請改用命令列中的 命令。