首頁  >  文章  >  後端開發  >  Windows上寫Python程式碼的王炸組合!

Windows上寫Python程式碼的王炸組合!

WBOY
WBOY轉載
2023-04-14 13:31:03843瀏覽

Windows上寫Python程式碼的王炸組合!

在 Windows 上怎麼做 Python 開發?是像大神一樣使用純文字編輯器,還是用更完善的 IDE?到底是用自備的命令列工具,還是需要裝新的 Terminal?本文將帶你了解如何利用微軟官方維護的 MS Terminal 與 VS Code,來為 Python 開發保駕護航。

使用 Windows 系統一大好處是它的應用太豐富了,甚至強大的 GPU 也能在閒暇時間做點其它「工作」。然而與 Linux 或 macOS 不同,在 Windows 上做開發總是會遇到很多挑戰,不論是文件編碼、環境控制還是專案編譯,開發過程中總會有一些神奇的收穫。

這些對於初學者來說尤其突出:我們在安裝某個函式庫時可能會出現各種依賴項錯誤,我們在讀寫文字時出現各種編碼錯誤等等。

那麼在 Windows 上如何做 Python 開發呢?相信大神們都會有自己的解決方案,但本文希望能介紹微軟官方發表的 Terminal 和 Visual Studio Code,希望它們能建立更流暢的 Windows 開發體驗。

Windows上寫Python程式碼的王炸組合!

Visual Studio Code 是程式設計師可以使用的最酷的程式碼編輯器之一,是一個可在所有平台上使用的開源、可擴展和輕量級編輯器。正是這些品質使微軟的 VS Code 大受歡迎,並成為 Python 開發的絕佳平台。或許很多讀者都比較熟悉 PyCharm 與 Jupyter Notebook 等常見的 Python IDE,但 VS Code 一樣不會讓你失望。

在本文中,你將學習到微軟Terminal 和Visual Studio Code 的特性,包括:

   什麼是微軟Terminal

  • 微軟Terminal 效果怎麼樣
  • 安裝Visual Studio Code
  • 發現並安裝Python 擴充功能
  • 編寫簡單的Python 應用程式
  • 了解如何在VS Code 中執行和偵錯現有Python程式
  • 將VS Code 連接到Git 和GitHub,與全世界分享你的程式碼

我們假設你了解Python 開發,並且已經在系統上安裝了某種版本的Python(如Python 2.7、Python 3.6/3.7、Anaconda 或其他)。由於 VS Code 可相容於所有主流平台,因此您可能會看到略有不同的 UI 元素,並且可能需要修改某些命令。

新興的微軟 Terminal

Windows Terminal 是一個開源終端應用程序,由微軟在今年 5 月的 Build 開發者大會上推出。 MS Terminal 支援 Command Prompt 和 PowerShell 的所有優點,基本上命令列已經可以和 Linux 相融合了,除此之外運行命令提示字元也是沒問題的。

在 MS Terminal 開源後,GitHub 的 Star 量成長得非常快,目前已經超過了 5 萬。這足以說明這個計畫非常受關注,在社群的開源改進下,這個工具一定還挺好用。

Windows上寫Python程式碼的王炸組合!

  • MS Terminal 開源位址:https://github.com/microsoft/terminal

當然,目前MS Terminal 已經可以直接下載安裝程式了,社群的體驗也非常好。因此如果我們在 Windows 上做 Python 開發,命令列工具就可以採用 MS Terminal,它能解決很大一部分的套件安裝、環境控制等問題。

MS Terminal 的效果怎麼樣

MS Terminal 最核心的功能就是支援多個選項卡,且每個選項卡都可以連接到命令列shell 或應用,例如Command Prompt 或透過SSH 存取樹莓派等。下圖展示了這種多選項卡的支援情況:

Windows上寫Python程式碼的王炸組合!

此外,除了功能外,更重要的是顏值,就像我們常用zsh 來提供更美觀的命令列一樣。雖然 zsh 目前的 GitHub 收藏量已經達到 9.4 萬了,但 ReadMe 文件清楚地寫著它最好用於 macOS 或 Linux。而新發布的 MS Terminal 不論在介面還是在文字風格,都以前都強了很多。

背景透明度、文字高亮都可以自行定義,也能定義 emoji 等符號。如下為基本的展示,我們可以依照自己的需求調整整個介面。

Windows上寫Python程式碼的王炸組合!

整個專案還在積極開發中,許多功能也都在完善與增加。不過既然是微軟官方維護的開源項目,那我們還是非常有信心的,至少在命令列部分可以降低開發過程中的各種報錯。

安裝與設定 VS Code

前面介紹了開發中必不可缺的命令列工具,下面我們該聊一聊 VS Code 了,它是支援 Python 開發的核心工具。下面我們從最初的安裝、環境管理到編寫、測試、發布程式碼,介紹我們該如何優雅地使用 VS Code。

在任何平台上都可以安裝 Visual Studio Code。官網提供了 Windows、Mac 和 Linux 的完整安裝說明,並且會每月更新編輯器,其中包含新功能和錯誤修正。你可以在Visual Studio Code 網站上找到所有安裝內容:

Windows上寫Python程式碼的王炸組合!

此外,除名稱相近外,Visual Studio Code(簡稱VS Code)與基於Windows 的更大規模的Visual Studio 幾乎沒有其他相同的地方。

Visual Studio Code 本身支援多種語言,而且它的一個擴展模型具有支援其他元件的豐富生態系統。 VS Code 每月更新,你可以在微軟 Python 部落格中了解更新資訊。任何使用者都可以複製微軟的VS Code Github 倉庫並貢獻自己的程式碼

##VS Code UI 已有詳細記錄,這裡不予贅述:

Windows上寫Python程式碼的王炸組合!

Python 擴充功能

如上所述,VS Code 透過詳細記錄的擴充模型支援多種程式語言的開發。 Python 擴充功能使用戶可以在Visual Studio Code 中進行Python 開發,具有以下特徵:

    既支援Python 3.4 及更高版本,也支援Python 2.7 版本
  • 使用IntelliSense 完成程式碼補全
  • Linting
  • 偵錯支援
  • 程式碼片段支援
  • 單元測試支援
  • 自動使用conda 和虛擬環境
  • 在Jupyter 環境和Jupyter 筆記本中進行程式碼編輯

Windows上寫Python程式碼的王炸組合!

#Visual Studio Code 擴充功能不僅具有程式設計功能:

    # Keymaps 允許已經熟悉Atom,Sublime Text,Emacs,Vim,PyCharm 或其他環境的使用者更容易上手。
  • 主題自訂 UI,無論您喜歡在明亮,黑暗或更豐富多彩的地方進行編碼。
  • 語言包提供在地化體驗。
以下是比較有用的一些其他擴充功能和設定:

    GitLens 直接在編輯視窗中提供了大量有用的Git 功能,包括非責任註解和儲存庫開發功能。
  • 從選單中選擇 File, Auto Save,可以輕鬆自動儲存。預設延遲時間為 1000 毫秒,也可以重新配置。
  • Settings Sync 讓使用者可以藉助 GitHub 在不同的裝置中同步自己的 VS Code 設定。如果使用者在不同的電腦上工作,這有助於運行環境保持一致。
  • Docker 讓使用者可以快速輕鬆地使用 Docker,幫助創作 Dockerfile 和 docker-compose.yml,打包和部署項目,甚至為專案產生適當的 Docker 檔案。
當然,在使用 VS Code 時,你可能會發現其他有用的擴充功能。請在評論中分享你的發現和設定!

點擊活動列(Activity Bar)上的「擴充功能」圖示可以存取和安裝新擴充功能和主題。用戶可以輸入關鍵字來搜尋擴充程序,以多種方式對搜尋結果進行排序,快速輕鬆地安裝擴充功能。在本文中,在活動欄的Extensions 項目中鍵入python 並點擊Install 即可安裝Python 擴充功能:

Windows上寫Python程式碼的王炸組合!

使用者可以透過相同的方式尋找和安裝上述任何擴展。

Visual Studio Code 設定檔

值得一提的是,Visual Studio Code 可透過使用者和工作區設定(User and Workspace Settings)實現高度設定。

使用者設定(User settings)在所有 Visual Studio Code 實例中都是全域性的,而工作區設定(Workspace Settings)是特定資料夾或專案工作區的本機設定。工作區設定為 VS Code 提供了極大的靈活性,工作區設定會在整篇文章中提到。工作區設定以.json 檔案的形式儲存在名為.vscode 的專案工作區本機資料夾中。

啟動新的 Python 程式

讓我們以一個新的 Python 程式來探索 Visual Studio Code 中的 Python 開發。在 VS Code 中,鍵入 Ctrl N 開啟新檔案。 (你也可以從選單中選擇「檔案」-「新建」。)

#無論你如何操作,你都應該看到一個類似以下內容的VS Code 視窗:

Windows上寫Python程式碼的王炸組合!

#開啟新檔案後,即可以輸入程式碼。

輸入Python 代碼

作為測試,我們可以快速編碼埃拉托斯特尼篩法(Sieve of Eratosthenes,它可以找出小於已知數的所有質數)。在剛開啟的新分頁中鍵入以下程式碼:

Windows上寫Python程式碼的王炸組合!

等等,這是怎麼回事?為什麼 Visual Studio Code 沒有進行任何關鍵字高亮顯示,也沒有進行任何自動格式化或任何真正有用的操作呢?它提供了什麼?

答案是,VS Code 不知道它正在處理的是什麼類型的檔案。緩衝區稱為 Untitled-1,如果你查看視窗的右下角,則可以看到 Plain Text(純文字)。

若要啟動 Python 擴展,請儲存檔案(從選單中選擇 File-Save 或從指令面板中選擇 File-Save File 或只使用 Ctrl S)為 sieve.py。 VS Code 將看到.py 副檔名並正確地將該檔案轉換為 Python 程式碼。 

現在你的視窗視圖應該如下所示:

Windows上寫Python程式碼的王炸組合!

這樣就好多了! VS Code 會自動將檔案重新格式化為 Python 程式碼,你可以透過檢查左下角的語言模式來驗證。

如果你有多個Python 安裝(如Python 2.7、Python 3.x 或Anaconda),則可以透過點擊語言模式指示器或從指令面板中選擇Python: Select Interpreter 來變更VS Code 所要使用的Python 解釋器。預設情況下,VS Code 支援使用 pep8 格式,但你也可以選擇 black 或 yapf。

Windows上寫Python程式碼的王炸組合!

現在可以加入其餘的 Sieve 程式碼。若要查看IntelliSense,請直接鍵入此程式碼而不要剪下和貼上,您應該會看到以下內容:

Windows上寫Python程式碼的王炸組合!

#當鍵入程式碼時,VS Code 會對for 和if 語句下面的行進行自動、適當的縮進,加上右括號,並給予內容提示。

運行 Python 程式碼

現在程式碼已經完成,你可以運行它了。沒有必要讓編輯器執行此操作:Visual Studio Code 可以直接在編輯器中執行此程式。儲存檔案(Ctrl S),然後在編輯器視窗中按一下右鍵並選擇在終端機(Terminal)中執行Python 檔案(Run Python File):

Windows上寫Python程式碼的王炸組合!

你會看到終端窗格顯示在視窗的底部,並顯示程式碼輸出結果。

編輯現有的 Python 專案

在 Sieve of Eratosthenes 範例中,你建立了一個 Python 檔。作為一個例子這很不錯,但很多時候,你需要創建更大的項目,並在更長的時間內在它上面進行開發。典型的新專案工作流程可能如下所示:

  • 建立一個資料夾來儲存專案(可能包含一個新的GitHub 專案)
  • 變更為新資料夾
  • 使用命令code filename.py 建立初始Python 程式碼

在Python 專案(而不是單一Python 檔案)上使用Visual Studio Code 開啟了更多功能,使得VS Code 能夠真正發揮作用。讓我們來看看它在更大的項目中如何運作。

假如我們編寫了一個計算器程序,該程序透過艾茲格·迪科斯徹(Edsger Dijkstra)調度場演算法的一種變體來解析中綴符號(infix notation)編寫的方程式。

為了說明 Visual Studio Code 以專案為中心的特徵,我們現在開始在 Python 中重新建立調度場演算法作為方程式評估函式庫。對應 GitHub 網址:https://github.com/JFincher42/PyEval。

本機資料夾建立後,你可以快速開啟 VS Code 中的整個資料夾。由於我們已經創建了資料夾和基本文件,所以首選方法(如上所述)做出如下修正:

  • cd /path/to/project
  • code .

當你這個方式開啟時,VS Code 了解並將使用它看到的任何virtualenv、pipenv 或conda 環境。你甚至不需要先啟動虛擬環境。透過選單中的 File, Open Folder、鍵盤上的 Ctrl K, Ctrl O 或指令面板中的 File, Open Folder 等方式,你可以開啟使用者介面(UI)上的資料夾。

以下是建立的方程式eval 庫專案:

Windows上寫Python程式碼的王炸組合!

#當Visual Studio Code 開啟資料夾時,它也會再次開啟上次開啟的檔案(這是可配置的)。你可以打開、編輯、運行和調試列出的任何文件。左側活動欄中的資源管理器視圖(Explorer view)提供資料夾中所有檔案的視圖,並顯示目前標籤集中有多少未儲存檔案。

程式碼測試的支援

VS Code 可以自動識別在 unittest、pytest 或 Nose 框架中編寫的現有 Python 測試,但前提是在當前環境中安裝了這些框架。作者在 unittest 框架中編寫了一個用於方程式 eval 函式庫的單元測試,你可以在這個例子中使用它。

若要執行專案中任何 Python 檔案的現有單元測試,請按一下右鍵並選擇 Run Current Unit Test File。系統將提示指定測試框架,在專案中搜尋測試的位置以及測試使用的檔案名稱模式。

所有這些都保存為本地.vscode/settings.json 檔案中的工作區設置,並且可以進行修改。對於這個等式項目,你可以選擇 unittest、目前資料夾和模式 *_test.py。

測試框架設定完成並顯示測試後,你可以點擊狀態列(Status Bar)上的Run Tests 並從命令面板中選擇一個option 來執行所有測試:

Windows上寫Python程式碼的王炸組合!

##透過在VS Code 中開啟測試文件,點擊狀態列上的Run Tests,然後選擇Run Unit Test Method 以及其他要執行的特定測試,你也可以執行單一測試。這使得解決單一測試失敗並重新運行失敗的測試變得簡單,從而能夠節省大量時間。測試結果顯示在 Python Test Log 下的 Output 窗格中。

偵錯支援

即使 VS Code 是程式碼編輯器,直接在 VS Code 中偵錯 Python 也是可以的。 VS Code 提供的諸多功能可以媲美好的程式碼偵錯器,包括:

    自動變數追蹤
  • 監看表達式
  • 斷點
  • 呼叫堆疊檢查
你可以在活動列上的Debug 視圖中看到這些功能:

Windows上寫Python程式碼的王炸組合!##偵錯器可以控制在內建終端機或外部終端機實例中執行的Python 應用程式。它可以附加到已經運行的 Python 實例中,甚至可以偵錯 Django 和 Flask 應用程式。

在單一 Python 檔案中偵錯程式碼就像按 F5 啟動偵錯器一樣簡單。你可以按 F10 和 F11 分別跳過和進入函數,並按 Shift F5 退出偵錯器。按 F9 設定斷點,或點選編輯器視窗中的左空白(lift margin)進行設定。

在開始偵錯更複雜的專案(包括 Django 或 Flask 應用程式)之前,你首先需要設定並選擇偵錯配置。設定調試配置相對簡單。從Debug 視圖中選擇Configuration 下拉清單(drop-down),然後選擇Add Configuration 和Python:

Windows上寫Python程式碼的王炸組合!Visual Studio Code 將在目前名為.vscode/launch.json的資料夾下會建立一個調試配置文件,它允許使用者設定特定的Python 配置以及調試Django 和Flask 等特定應用程式的設定。

你也可以執行遠端偵錯,並除錯 Jinja 和 Django 模板。關閉編輯器中的 launch.json 文件,然後從 Configuration 下拉清單中為應用程式選擇正確的配置。

Git 整合

VS Code 不僅內建對原始碼控制管理的支持,還支援 Git 和 GitHub。你可以在 VS Code 中安裝對其他 SCM 的支持,並列使用它們。使用者可以從 Source Control 視圖存取原始碼控制:

Windows上寫Python程式碼的王炸組合!

如果你的專案資料夾包含.git 資料夾,VS Code 會自動開啟所有 Git / GitHub 功能。你可以執行以下諸多任務:

  • 將檔案提交給Git
  • 將變更推送到遠端儲存庫(remote repo)並從中取出變更
  • check- out 現有或建立新的分支和標籤(branch and tag)
  • 查看並解決合併衝突(merge conflict)
  • 查看差異(view diffs)

#所有這些功能都可以直接從VS Code UI 獲得:

Windows上寫Python程式碼的王炸組合!

VS Code 還可以識別編輯器外部進行的更改並且正確運作。

在 VS Code 中提交最近的變更相當簡單。修改後的檔案顯示在 Source Control 視圖中,並帶有 M 標記,而新的未追蹤檔案使用 U 標記。將滑鼠懸停在文件上然後點擊加號( )可以暫存更改。在視圖頂部新增提交訊息,然後點擊複選標記提交更改:

Windows上寫Python程式碼的王炸組合!

你也可以在 VS Code 中將本地提交(local commits)推送到 GitHub。從 Source Control 視圖功能表中選擇 Sync,或按一下分支指示器(branch indicator)旁邊狀態列上的 Synchronize Changes。

所以在作者看來,Visual Studio Code 是最酷的通用編輯器之一,也是 Python 開發的最佳候選工具。希望你也可以在 Python 開發中嘗試使用 Visual Studio Code 編輯器,相信不會令你失望的。

以上是Windows上寫Python程式碼的王炸組合!的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:51cto.com。如有侵權,請聯絡admin@php.cn刪除