在 Windows 上怎麼做 Python 開發?是像大神一樣使用純文字編輯器,還是用更完善的 IDE?到底是用自備的命令列工具,還是需要裝新的 Terminal?本文將帶你了解如何利用微軟官方維護的 MS Terminal 與 VS Code,來為 Python 開發保駕護航。
使用 Windows 系統一大好處是它的應用太豐富了,甚至強大的 GPU 也能在閒暇時間做點其它「工作」。然而與 Linux 或 macOS 不同,在 Windows 上做開發總是會遇到很多挑戰,不論是文件編碼、環境控制還是專案編譯,開發過程中總會有一些神奇的收穫。
這些對於初學者來說尤其突出:我們在安裝某個函式庫時可能會出現各種依賴項錯誤,我們在讀寫文字時出現各種編碼錯誤等等。
那麼在 Windows 上如何做 Python 開發呢?相信大神們都會有自己的解決方案,但本文希望能介紹微軟官方發表的 Terminal 和 Visual Studio Code,希望它們能建立更流暢的 Windows 開發體驗。
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 萬。這足以說明這個計畫非常受關注,在社群的開源改進下,這個工具一定還挺好用。
- MS Terminal 開源位址:https://github.com/microsoft/terminal
當然,目前MS Terminal 已經可以直接下載安裝程式了,社群的體驗也非常好。因此如果我們在 Windows 上做 Python 開發,命令列工具就可以採用 MS Terminal,它能解決很大一部分的套件安裝、環境控制等問題。
MS Terminal 的效果怎麼樣
MS Terminal 最核心的功能就是支援多個選項卡,且每個選項卡都可以連接到命令列shell 或應用,例如Command Prompt 或透過SSH 存取樹莓派等。下圖展示了這種多選項卡的支援情況:
此外,除了功能外,更重要的是顏值,就像我們常用zsh 來提供更美觀的命令列一樣。雖然 zsh 目前的 GitHub 收藏量已經達到 9.4 萬了,但 ReadMe 文件清楚地寫著它最好用於 macOS 或 Linux。而新發布的 MS Terminal 不論在介面還是在文字風格,都以前都強了很多。
背景透明度、文字高亮都可以自行定義,也能定義 emoji 等符號。如下為基本的展示,我們可以依照自己的需求調整整個介面。
整個專案還在積極開發中,許多功能也都在完善與增加。不過既然是微軟官方維護的開源項目,那我們還是非常有信心的,至少在命令列部分可以降低開發過程中的各種報錯。
安裝與設定 VS Code
前面介紹了開發中必不可缺的命令列工具,下面我們該聊一聊 VS Code 了,它是支援 Python 開發的核心工具。下面我們從最初的安裝、環境管理到編寫、測試、發布程式碼,介紹我們該如何優雅地使用 VS Code。
在任何平台上都可以安裝 Visual Studio Code。官網提供了 Windows、Mac 和 Linux 的完整安裝說明,並且會每月更新編輯器,其中包含新功能和錯誤修正。你可以在Visual Studio Code 網站上找到所有安裝內容:
此外,除名稱相近外,Visual Studio Code(簡稱VS Code)與基於Windows 的更大規模的Visual Studio 幾乎沒有其他相同的地方。
Visual Studio Code 本身支援多種語言,而且它的一個擴展模型具有支援其他元件的豐富生態系統。 VS Code 每月更新,你可以在微軟 Python 部落格中了解更新資訊。任何使用者都可以複製微軟的VS Code Github 倉庫並貢獻自己的程式碼
##VS Code UI 已有詳細記錄,這裡不予贅述:- 既支援Python 3.4 及更高版本,也支援Python 2.7 版本
- 使用IntelliSense 完成程式碼補全
- Linting
- 偵錯支援
- 程式碼片段支援
- 單元測試支援
- 自動使用conda 和虛擬環境
- 在Jupyter 環境和Jupyter 筆記本中進行程式碼編輯
- # 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 檔案。
啟動新的 Python 程式
讓我們以一個新的 Python 程式來探索 Visual Studio Code 中的 Python 開發。在 VS Code 中,鍵入 Ctrl N 開啟新檔案。 (你也可以從選單中選擇「檔案」-「新建」。)
#無論你如何操作,你都應該看到一個類似以下內容的VS Code 視窗:
#開啟新檔案後,即可以輸入程式碼。
輸入Python 代碼
作為測試,我們可以快速編碼埃拉托斯特尼篩法(Sieve of Eratosthenes,它可以找出小於已知數的所有質數)。在剛開啟的新分頁中鍵入以下程式碼:
等等,這是怎麼回事?為什麼 Visual Studio Code 沒有進行任何關鍵字高亮顯示,也沒有進行任何自動格式化或任何真正有用的操作呢?它提供了什麼?
答案是,VS Code 不知道它正在處理的是什麼類型的檔案。緩衝區稱為 Untitled-1,如果你查看視窗的右下角,則可以看到 Plain Text(純文字)。
若要啟動 Python 擴展,請儲存檔案(從選單中選擇 File-Save 或從指令面板中選擇 File-Save File 或只使用 Ctrl S)為 sieve.py。 VS Code 將看到.py 副檔名並正確地將該檔案轉換為 Python 程式碼。
現在你的視窗視圖應該如下所示:
這樣就好多了! VS Code 會自動將檔案重新格式化為 Python 程式碼,你可以透過檢查左下角的語言模式來驗證。
如果你有多個Python 安裝(如Python 2.7、Python 3.x 或Anaconda),則可以透過點擊語言模式指示器或從指令面板中選擇Python: Select Interpreter 來變更VS Code 所要使用的Python 解釋器。預設情況下,VS Code 支援使用 pep8 格式,但你也可以選擇 black 或 yapf。
現在可以加入其餘的 Sieve 程式碼。若要查看IntelliSense,請直接鍵入此程式碼而不要剪下和貼上,您應該會看到以下內容:
#當鍵入程式碼時,VS Code 會對for 和if 語句下面的行進行自動、適當的縮進,加上右括號,並給予內容提示。
運行 Python 程式碼
現在程式碼已經完成,你可以運行它了。沒有必要讓編輯器執行此操作:Visual Studio Code 可以直接在編輯器中執行此程式。儲存檔案(Ctrl S),然後在編輯器視窗中按一下右鍵並選擇在終端機(Terminal)中執行Python 檔案(Run Python File):
你會看到終端窗格顯示在視窗的底部,並顯示程式碼輸出結果。
編輯現有的 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 庫專案:
#當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 來執行所有測試:
- 自動變數追蹤
- 監看表達式
- 斷點
- 呼叫堆疊檢查
##偵錯器可以控制在內建終端機或外部終端機實例中執行的Python 應用程式。它可以附加到已經運行的 Python 實例中,甚至可以偵錯 Django 和 Flask 應用程式。
在單一 Python 檔案中偵錯程式碼就像按 F5 啟動偵錯器一樣簡單。你可以按 F10 和 F11 分別跳過和進入函數,並按 Shift F5 退出偵錯器。按 F9 設定斷點,或點選編輯器視窗中的左空白(lift margin)進行設定。
在開始偵錯更複雜的專案(包括 Django 或 Flask 應用程式)之前,你首先需要設定並選擇偵錯配置。設定調試配置相對簡單。從Debug 視圖中選擇Configuration 下拉清單(drop-down),然後選擇Add Configuration 和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 視圖存取原始碼控制:
如果你的專案資料夾包含.git 資料夾,VS Code 會自動開啟所有 Git / GitHub 功能。你可以執行以下諸多任務:
- 將檔案提交給Git
- 將變更推送到遠端儲存庫(remote repo)並從中取出變更
- check- out 現有或建立新的分支和標籤(branch and tag)
- 查看並解決合併衝突(merge conflict)
- 查看差異(view diffs)
#所有這些功能都可以直接從VS Code UI 獲得:
VS Code 還可以識別編輯器外部進行的更改並且正確運作。
在 VS Code 中提交最近的變更相當簡單。修改後的檔案顯示在 Source Control 視圖中,並帶有 M 標記,而新的未追蹤檔案使用 U 標記。將滑鼠懸停在文件上然後點擊加號( )可以暫存更改。在視圖頂部新增提交訊息,然後點擊複選標記提交更改:
你也可以在 VS Code 中將本地提交(local commits)推送到 GitHub。從 Source Control 視圖功能表中選擇 Sync,或按一下分支指示器(branch indicator)旁邊狀態列上的 Synchronize Changes。
所以在作者看來,Visual Studio Code 是最酷的通用編輯器之一,也是 Python 開發的最佳候選工具。希望你也可以在 Python 開發中嘗試使用 Visual Studio Code 編輯器,相信不會令你失望的。
以上是Windows上寫Python程式碼的王炸組合!的詳細內容。更多資訊請關注PHP中文網其他相關文章!

每天學習Python兩個小時是否足夠?這取決於你的目標和學習方法。 1)制定清晰的學習計劃,2)選擇合適的學習資源和方法,3)動手實踐和復習鞏固,可以在這段時間內逐步掌握Python的基本知識和高級功能。

Python在Web開發中的關鍵應用包括使用Django和Flask框架、API開發、數據分析與可視化、機器學習與AI、以及性能優化。 1.Django和Flask框架:Django適合快速開發複雜應用,Flask適用於小型或高度自定義項目。 2.API開發:使用Flask或DjangoRESTFramework構建RESTfulAPI。 3.數據分析與可視化:利用Python處理數據並通過Web界面展示。 4.機器學習與AI:Python用於構建智能Web應用。 5.性能優化:通過異步編程、緩存和代碼優

Python在開發效率上優於C ,但C 在執行性能上更高。 1.Python的簡潔語法和豐富庫提高開發效率。 2.C 的編譯型特性和硬件控制提升執行性能。選擇時需根據項目需求權衡開發速度與執行效率。

Python在現實世界中的應用包括數據分析、Web開發、人工智能和自動化。 1)在數據分析中,Python使用Pandas和Matplotlib處理和可視化數據。 2)Web開發中,Django和Flask框架簡化了Web應用的創建。 3)人工智能領域,TensorFlow和PyTorch用於構建和訓練模型。 4)自動化方面,Python腳本可用於復製文件等任務。

Python在數據科學、Web開發和自動化腳本領域廣泛應用。 1)在數據科學中,Python通過NumPy、Pandas等庫簡化數據處理和分析。 2)在Web開發中,Django和Flask框架使開發者能快速構建應用。 3)在自動化腳本中,Python的簡潔性和標準庫使其成為理想選擇。

Python的靈活性體現在多範式支持和動態類型系統,易用性則源於語法簡潔和豐富的標準庫。 1.靈活性:支持面向對象、函數式和過程式編程,動態類型系統提高開發效率。 2.易用性:語法接近自然語言,標準庫涵蓋廣泛功能,簡化開發過程。

Python因其簡潔與強大而備受青睞,適用於從初學者到高級開發者的各種需求。其多功能性體現在:1)易學易用,語法簡單;2)豐富的庫和框架,如NumPy、Pandas等;3)跨平台支持,可在多種操作系統上運行;4)適合腳本和自動化任務,提升工作效率。

可以,在每天花費兩個小時的時間內學會Python。 1.制定合理的學習計劃,2.選擇合適的學習資源,3.通過實踐鞏固所學知識,這些步驟能幫助你在短時間內掌握Python。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

禪工作室 13.0.1
強大的PHP整合開發環境

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

Dreamweaver CS6
視覺化網頁開發工具

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境