在 Visual Studio 中選擇一個 Python 環境來進行專案

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

在 Visual Studio 中,你可以為一個專案建立多個環境,並根據你的開發需求在它們之間切換。 所有新的 Python 專案最初都會設定為使用預設的全域環境。 你可以在 方案總管Python Environments節點下看到專案的環境:

顯示在 Visual Studio 的方案總管中專案之全域預設 Python 環境的截圖。

此截圖顯示 Visual Studio 的 方案總管 中專案的全域預設 Python 環境。

先決條件

切換目前的專案環境

在 Visual Studio 中,你可以在 方案總管 或工具列使用 Add Environment 功能中更改Python專案的活動(目前)環境。

  1. 啟動 新增環境 流程:

    • 方案總管 中,右鍵點擊你的專案節點 Python Environments,選擇 Add Environment
    • 或者,在Python工具列中,從Environment下拉選單中選擇新增環境
  2. 新增環境 對話框中,選擇 「現有環境 」標籤。展開 環境 下拉選單,選擇你想要的環境,然後選擇 新增

    此截圖展示如何在 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 Environments 視窗中。 你可以像啟用其他環境一樣,管理它的套件。

建立虛擬環境

你可以直接在 Visual Studio 中建立新的虛擬環境,方法如下:

  1. 啟動 新增環境 流程:

    • 方案總管 中,右鍵點擊你的專案節點 Python Environments,選擇 Add Environment
    • 或者,從Python工具列中的Environment下拉選單中選擇Add Environment
  2. 「新增環境 」對話框中,選擇 虛擬環境 標籤:

    Visual Studio 新增環境對話框虛擬環境分頁截圖

  3. 配置所需欄位:

    必要欄位 Description
    計畫 找出要建立環境的專案。
    名稱 提供新的虛擬環境名稱。
    基礎直譯器 指定虛擬環境的基礎語言直譯器。
    Location 系統會為虛擬環境指定預設位置。 要更改位置,請選擇 「變更虛擬環境位置」 連結,瀏覽該位置並選擇 「選擇資料夾」。
  4. 設定任何想要的可選欄位:

    選用欄位 Description
    從檔案安裝套件 指定 requirements.txt 檔案的路徑,以將套件加入虛擬環境。 輸入檔案的位置與名稱,或瀏覽(...)至該位置並選擇檔案。
    將設定為目前的環境 在所選專案中建立環境後,啟動該新環境。
    設定為新項目的默認環境 自動設定並啟用 Visual Studio 中新建立的專案環境。 此設定也可透過 Python環境視窗中的 讓此成為新專案的預設環境選項使用。 使用此選項時,將虛擬環境置於特定專案之外的地點。
    在 Python 環境視窗中檢視 在建立新環境後,指定是否要顯示 Python Environments 視窗。
    讓這個環境全球開放 指定虛擬環境是否也應作為全域環境。 使用此選項時,將虛擬環境置於特定專案之外的地點。
  5. 選擇 建立 以完成虛擬環境。

Visual Studio 在設定環境並下載所需套件時會顯示進度條。

程序完成後,Visual Studio 啟動新的虛擬環境,並將其加入 方案總管Python Environments 節點。 該環境也可在包含專案的 Python Environments視窗中取得。

啟動一個環境

請依照以下步驟啟動專案現有環境:

  1. 方案總管 中,展開 Python Environments 節點,找到你想使用的環境。

  2. 右鍵點選環境,然後選擇 啟用環境

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

    Visual Studio啟動環境後,活動中環境名稱以粗體字體顯示為方案總管

    截圖顯示 Visual Studio 如何在 方案總管 中用粗體顯示活動環境的名稱。

    這是截圖,顯示 Visual Studio 如何在 方案總管 中以粗體顯示活動環境的名稱。

移除虛擬環境

請依照以下步驟移除專案中的現有環境:

  1. 方案總管,右鍵點擊虛擬環境,選擇 Remove

  2. Visual Studio 會問你要不要移除或刪除虛擬環境。

    • 選擇 移除 以讓該環境不對專案使用,但保留在檔案系統中。
    • 選擇 刪除 ,既能從專案中移除環境,也從檔案系統中刪除。 基礎解譯器則不受影響。

檢視與管理已安裝的套件

在 方案總管 中,您可以查看並管理環境中安裝的套件。 這些套件可以在環境啟動時匯入並用於你的程式碼中。

  • 若要快速查看安裝在環境中的套件,請在 方案總管 中展開 Python Environments 節點下的環境節點:

  • 若要安裝新套件或管理現有套件,請右鍵點選環境節點並選擇Manage Python Packages。 你也可以使用Python工具列上的套件按鈕:

    <c1><c0><sb0> 截圖,顯示如何在 方案總管 的環境中存取管理 Python 套件的選項。</sb0></c0></c1>

    Python Environments視窗會開啟,並顯示 Packages (PyPI) 標籤中所選環境所安裝的套件:

    截圖,顯示Python環境視窗中所選環境目前的套件。

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

  • 要卸載(移除)套件,請在清單中找到該套件並選擇右側 的 x 圖示。

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

    Visual Studio 會顯示相符的套件。 在這個例子中,搜尋的對象是符合「blinker」一詞的套件。

    截圖顯示如何在 Visual Studio 的 Python 環境視窗中搜尋相符的套件。

    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 套件管理器。 使用 pip 命令列 or easy_install 指令安裝的套件也會被顯示。

  • pip 無法安裝套件的常見情況是套件包含原生元件的原始碼在 *.pyd 檔案中。 如果沒有安裝所需的 Visual Studio 版本,Pip 就無法編譯這些元件。 此時顯示的錯誤訊息為 error:無法找到 vcvarsall.bateasy_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 命令列的指令。