在 VS Code 中開始使用 Python
在本教學課程中,您將學習如何使用 Visual Studio Code 中的 Python 3 來建立、執行與除錯「擲骰子!」應用程式,以及如何處理虛擬環境、使用套件等更多內容!透過使用 Python 延伸模組,您可以將 VS Code 變成一個出色且輕量級的 Python 編輯器。
如果您剛接觸程式設計,請查看 Visual Studio Code for Education - Python 簡介課程。該課程提供了 Python 的全面介紹,包含在隨時可編碼的瀏覽器開發環境中的結構化模組。
若要更深入了解 Python 語言,您可以在 VS Code 的環境中探索 python.org 上列出的任何程式設計教學課程。
若要查看以資料科學為重點的 Python 教學課程,請參閱我們的資料科學區段。
先決條件
若要順利完成本教學課程,您需要先設定 Python 開發環境。具體來說,本教學課程需要
- Python 3
- VS Code
- VS Code Python 延伸模組(關於安裝延伸模組的詳細資訊,請參閱延伸模組市集)
安裝 Python 直譯器
除了 Python 延伸模組外,您還需要安裝 Python 直譯器。使用哪個直譯器取決於您的特定需求,以下提供一些指導。
Windows
從 python.org 安裝 Python。使用頁面上第一個出現的下載 Python (Download Python) 按鈕來下載最新版本。
注意:如果您沒有管理員權限,在 Windows 上安裝 Python 的另一個選擇是使用 Microsoft Store。Microsoft Store 提供了受支援 Python 版本的安裝程式。
關於在 Windows 上使用 Python 的其他資訊,請參閱 Python.org 的在 Windows 上使用 Python。
macOS
macOS 系統內建的 Python 安裝不受支援。建議改用如 Homebrew 之類的套件管理系統。若要在 macOS 上使用 Homebrew 安裝 Python,請在終端機提示字元中執行 brew install python3。
注意:在 macOS 上,請確保您的 VS Code 安裝位置已包含在 PATH 環境變數中。請參閱這些設定說明以獲取更多資訊。
Linux
Linux 內建的 Python 3 安裝運作良好,但若要安裝其他 Python 套件,您必須使用 get-pip.py 安裝 pip。
其他選項
-
資料科學:如果您使用 Python 的主要目的是為了資料科學,那麼您可以考慮從 Anaconda 下載。Anaconda 不僅提供 Python 直譯器,還提供許多用於資料科學的實用程式庫與工具。
-
適用於 Linux 的 Windows 子系統 (WSL):如果您在 Windows 上工作並希望擁有一個用於處理 Python 的 Linux 環境,適用於 Linux 的 Windows 子系統 (WSL) 是您的選擇。如果您選擇此選項,您還需要安裝 WSL 延伸模組。關於在 VS Code 中使用 WSL 的更多資訊,請參閱VS Code 遠端開發或嘗試在 WSL 中工作教學課程,該教學將引導您完成設定 WSL、安裝 Python 以及建立在 WSL 中執行的 Hello World 應用程式。
注意:若要驗證您是否已在電腦上成功安裝 Python,請執行下列其中一個命令(視您的作業系統而定)
Linux/macOS:開啟終端機視窗並輸入以下命令
python3 --versionWindows:開啟命令提示字元並執行以下命令
py -3 --version如果安裝成功,輸出視窗應會顯示您所安裝的 Python 版本。或者,您可以在 VS Code 整合終端機中使用
py -0命令來檢視電腦上安裝的 Python 版本。預設直譯器會以星號 (*) 標示。
在工作區資料夾中啟動 VS Code
透過在資料夾中啟動 VS Code,該資料夾即成為您的「工作區」。
使用命令提示字元或終端機,建立一個名為 "hello" 的空資料夾,進入該資料夾,並輸入以下命令以在該資料夾 (.) 中開啟 VS Code (code)
mkdir hello
cd hello
code .
注意:如果您使用的是 Anaconda 發行版,請務必使用 Anaconda 命令提示字元。
或者,您可以透過作業系統 UI 建立資料夾,然後使用 VS Code 的 檔案 > 開啟資料夾 (File > Open Folder) 來開啟專案資料夾。
建立虛擬環境
Python 開發人員的最佳做法是使用專案專屬的 虛擬環境。一旦啟用該環境,您隨後安裝的任何套件都會與其他環境(包括全域直譯器環境)隔離,從而減少許多因套件版本衝突而產生的併發症。您可以使用 Python: Create Environment 在 VS Code 中透過 Venv 或 Anaconda 建立非全域環境。
開啟命令選擇區 (⇧⌘P (Windows, Linux Ctrl+Shift+P)),開始輸入 Python: Create Environment 命令進行搜尋,然後選取該命令。
該命令會顯示環境類型列表,例如 Venv 或 Conda。對於本範例,請選取 Venv。

該命令接著會顯示可用於您的專案的直譯器列表。選取您在教學開始時安裝的直譯器。

選取直譯器後,通知將顯示環境建立的進度,且環境資料夾 (/.venv) 將出現在您的工作區中。

透過從 命令選擇區 使用 Python: Select Interpreter 命令,確保已選取您的新環境。

注意:有關虛擬環境的更多資訊,或如果您在環境建立過程中遇到錯誤,請參閱環境。
建立 Python 原始程式碼檔案
從檔案總管工具列,選取 hello 資料夾上的 新增檔案 (New File) 按鈕

將檔案命名為 hello.py,VS Code 會自動在編輯器中開啟它

透過使用 .py 副檔名,您告訴 VS Code 將此檔案解譯為 Python 程式,以便使用 Python 延伸模組與選取的直譯器來評估其內容。
注意:檔案總管工具列還允許您在工作區內建立資料夾,以更好地組織您的程式碼。您可以使用 新增資料夾 (New folder) 按鈕快速建立資料夾。
現在您的工作區中已有一個程式碼檔案,請在 hello.py 中輸入以下原始程式碼
msg = "Roll a dice!"
print(msg)
當您開始輸入 print 時,請注意 IntelliSense 如何提供自動完成選項。

IntelliSense 和自動完成功能不僅適用於標準 Python 模組,也適用於您安裝到所選 Python 直譯器環境中的其他套件。它還會提供物件類型可用方法的自動完成。例如,因為 msg 變數包含字串,當您輸入 msg. 時,IntelliSense 會提供字串方法。

最後,儲存檔案 (⌘S (Windows, Linux Ctrl+S))。此時,您已準備好在 VS Code 中執行您的第一個 Python 檔案。
關於編輯、格式化與重構的完整詳細資訊,請參閱編輯程式碼。Python 延伸模組也完全支援程式碼檢查 (Linting)。
執行 Python 程式碼
按一下編輯器右上角的 執行 Python 檔案 (Run Python File) 播放按鈕。

該按鈕會開啟一個終端機面板,其中您的 Python 直譯器會自動啟動,然後執行 python3 hello.py (macOS/Linux) 或 python hello.py (Windows)

在 VS Code 中執行 Python 程式碼還有其他三種方式
-
在編輯器視窗的任何位置按右鍵,並選取 Run Python > Run Python File in Terminal(這會自動儲存檔案)

-
選取一行或多行,然後按下 Shift+Enter 或按右鍵並選取 Run Python > Run Selection/Line in Python Terminal。或者,您可以在沒有選取任何內容的情況下使用 Shift+Enter 啟用 Smart Send,Python 延伸模組會將游標附近最小的可執行程式碼區塊傳送到終端機。此命令適合用於測試檔案的某一部分。
注意:如果您偏好在游標所在的特定行傳送程式碼,您可以透過在使用者 (User) 設定中將
python.REPL.enableREPLSmartSend設定為"false"來關閉 Smart Send。 -
從命令選擇區 (⇧⌘P (Windows, Linux Ctrl+Shift+P)),選取 Python: Start Terminal REPL 命令,為目前選取的 Python 直譯器開啟 REPL 終端機(以
>>>標示)。在 REPL 中,您可以一次一行地輸入並執行程式碼。
恭喜,您剛剛在 Visual Studio Code 中執行了您的第一個 Python 程式碼!
設定並執行除錯工具
現在讓我們嘗試對我們的 Python 程式進行除錯。除錯支援由 Python 除錯工具延伸模組提供,它會隨 Python 延伸模組自動安裝。若要確保其已正確安裝,請開啟 延伸模組 (Extensions) 檢視 (⇧⌘X (Windows, Linux Ctrl+Shift+X)) 並搜尋 @installed python debugger。您應該會在結果中看到 Python 除錯工具延伸模組。

接下來,透過將游標放在 print 呼叫上並按下 F9,在 hello.py 的第 2 行設定中斷點。或者,按一下編輯器左側邊欄的行號旁邊。當您設定中斷點時,邊欄會出現一個紅點。

接著,若要初始化除錯工具,請按下 F5。由於這是您第一次對此檔案進行除錯,系統將會從命令選擇區開啟設定選單,讓您為開啟的檔案選取想要使用的除錯設定類型。

注意:VS Code 對其各種設定皆使用 JSON 檔案;
launch.json是包含除錯設定的標準檔名。
選取 Python File,這是使用目前選取的 Python 直譯器執行編輯器中所顯示檔案的設定。
除錯工具將會啟動,並在檔案中斷點的第一行停止。目前這一行會以左邊界的黃色箭頭表示。如果您此時檢查 區域 (Local) 變數視窗,您可以看到 msg 變數出現在 區域 (Local) 窗格中。

頂部會出現一個除錯工具列,包含由左至右的下列命令:繼續 (F5)、不進入函式 (Step Over) (F10)、進入函式 (Step Into) (F11)、跳出函式 (Step Out) (⇧F11 (Windows, Linux Shift+F11))、重新啟動 (⇧⌘F5 (Windows, Linux Ctrl+Shift+F5)) 以及停止 (⇧F5 (Windows, Linux Shift+F5))。

狀態列也會變更顏色(在許多主題中為橘色)以指示您處於除錯模式。Python 除錯主控台 (Python Debug Console) 也會自動出現在右下方面板,顯示正在執行的命令以及程式輸出。
若要繼續執行程式,請選取除錯工具列上的繼續命令 (F5)。除錯工具會將程式執行到結尾。
提示 除錯資訊也可以透過將滑鼠懸停在程式碼(例如變數)上來檢視。以
msg為例,將滑鼠懸停在變數上將會在變數上方的方塊中顯示字串Roll a dice!。
您也可以在 除錯主控台 (Debug Console) 中使用變數(如果您沒看到它,請選取 VS Code 右下區域的 除錯主控台,或從 ... 選單中選取它)。然後嘗試在主控台底部的 > 提示字元處,逐行輸入以下程式碼
msg
msg.capitalize()
msg.split()

再次選取工具列上的藍色 繼續 (Continue) 按鈕(或按下 F5)以完成程式執行。如果您切換回 Python 除錯主控台,會看到 "Roll a dice!" 出現,且程式完成後 VS Code 會退出除錯模式。
如果您重新啟動除錯工具,它會再次在第一個中斷點停止。
若要在程式完成前停止執行,請使用除錯工具列上的紅色方形停止按鈕 (⇧F5 (Windows, Linux Shift+F5)),或使用 執行 > 停止除錯 (Run > Stop debugging) 選單命令。
關於完整詳細資訊,請參閱除錯設定,其中包括關於如何使用特定 Python 直譯器進行除錯的說明。
提示:使用 Logpoints 代替 print 陳述式:開發人員常在原始程式碼中塞滿
安裝並使用套件
讓我們透過使用套件來延伸上述範例。
在 Python 中,套件是您取得各種實用程式庫的方式(通常來自 PyPI),這些程式庫可為您的程式提供額外功能。對於此範例,您將使用 numpy 套件來產生隨機數。
回到 總管 (Explorer) 檢視(左側最上方的圖示,顯示檔案),開啟 hello.py,並貼上以下原始程式碼
import numpy as np
msg = "Roll a dice!"
print(msg)
print(np.random.randint(1,9))
提示:如果您手動輸入上述程式碼,當您在行尾按下 Enter 時,可能會發現自動完成功能變更了
as關鍵字之後的名稱。若要避免這種情況,請輸入一個空格,然後按下 Enter。
接下來,使用上一節中描述的 "Python: Current file" 設定,在除錯工具中執行該檔案。
您應該會看到訊息:"ModuleNotFoundError: No module named 'numpy'"。此訊息表示所需的套件在您的直譯器中不可用。如果您使用的是 Anaconda 發行版或之前已安裝過 numpy 套件,則可能不會看到此訊息。
若要安裝 numpy 套件,請停止除錯工具並使用下列其中一種方法
選項 1:使用套件管理 UI
- 開啟 Python 側邊欄並展開 環境管理員 (Environment Managers)
- 對您的環境按右鍵並選取 管理套件 (Manage Packages)
- 搜尋
numpy並選取 安裝 (Install)
選項 2:使用終端機
從命令選擇區執行 Terminal: Create New Terminal (⌃⇧` (Windows, Linux Ctrl+Shift+`))。此命令會為您選取的直譯器開啟命令提示字元。
若要在虛擬環境中安裝所需的套件,請依照您的作業系統輸入適當的下列命令
# Don't use with Anaconda distributions because they include matplotlib already.
# macOS
python3 -m pip install numpy
# Windows (may require elevation)
python -m pip install numpy
# Linux (Debian)
apt-get install python3-tk
python3 -m pip install numpy
現在,再次執行程式(無論是否使用除錯工具)以檢視輸出!
管理跨環境的相依性
進行 Python 專案時,有效管理您的相依性至關重要。一個實用的秘訣是使用 pip freeze > requirements.txt 命令。此命令可協助您建立一個 requirements.txt 檔案,列出虛擬環境中安裝的所有套件。此檔案隨後可用於在其他地方重建相同的環境。
當您使用 Python: Create Environment 或環境管理員檢視中的 + 按鈕建立新環境時,該延伸模組會自動偵測並安裝工作區中存在的 requirements.txt 或 pyproject.toml 中的相依性。
請依照下列步驟建立 requirements.txt 檔案
-
啟用您的虛擬環境(如果尚未啟用)。
source venv/bin/activate # On macOS/Linux.\venv\Scripts\activate # On Windows -
產生
requirements.txt檔案。pip freeze > requirements.txt
您現在可以使用剛產生的 requirements.txt 檔案在另一個環境中安裝相依性。此外,隨著您的專案複雜度增加,您可以繼續向其新增相依性。
pip install -r requirements.txt
遵循這些步驟,可確保您的專案相依性在不同環境中保持一致,從而更容易與他人協作並部署您的專案。
恭喜您完成 Python 教學課程!在本教學過程中,您學習了如何建立 Python 專案、建立虛擬環境、執行與除錯 Python 程式碼,以及安裝 Python 套件。探索其他資源,以了解如何在 Visual Studio Code 中充分利用 Python!
後續步驟
若要學習如何使用熱門的 Python 網頁框架建置 Web 應用程式,請參閱下列教學課程
在 Visual Studio Code 中還有更多關於 Python 的內容值得探索
- Python 設定檔範本 - 建立一個新的設定檔,其中包含一組精心挑選的延伸模組、設定與程式碼片段
- 編輯程式碼 - 了解 Python 的自動完成、IntelliSense、格式化與重構功能。
- Linting - 啟用、設定並套用各種 Python Linter。
- 偵錯 - 學習如何在本地與遠端對 Python 程式進行偵錯。
- 測試 - 設定測試環境,並探索、執行與偵錯測試。
- 設定參考 - 探索 VS Code 中所有與 Python 相關的設定。
- 將 Python 部署至 Azure App Service
- 將 Python 部署至容器應用程式 (Container Apps)