自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Windows上寫Python代碼的王炸組合!

開發(fā) 后端 Windows
本文將帶你了解如何利用微軟官方維護(hù)的 MS Terminal 與 VS Code,來為 Python 開發(fā)保駕護(hù)航。

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

使用 Windows 系統(tǒng)一大好處是它的應(yīng)用太豐富了,甚至強(qiáng)大的 GPU 也能在閑暇時間做點(diǎn)其它「工作」。然而與 Linux 或 macOS 不同,在 Windows 上做開發(fā)總會遇到很多挑戰(zhàn),不論是文件編碼、環(huán)境控制還是項(xiàng)目編譯,開發(fā)過程中總會有一些神奇的收獲。

這些對于初學(xué)者來說尤其突出:我們在安裝某個庫時可能出現(xiàn)各種依賴項(xiàng)錯誤,我們在讀寫文本時出現(xiàn)各種編碼錯誤等等。

那么在 Windows 上如何做 Python 開發(fā)呢?相信大神們都會有自己的解決方案,但本文希望介紹微軟官方發(fā)布的 Terminal 和 Visual Studio Code,希望它們能構(gòu)建更流暢的 Windows 開發(fā)體驗(yàn)。

Visual Studio Code 是程序員可以使用的最酷的代碼編輯器之一,是一個可在所有平臺上使用的開源、可擴(kuò)展和輕量級編輯器。正是這些品質(zhì)使微軟的 VS Code 大受歡迎,并成為 Python 開發(fā)的絕佳平臺??赡芎芏嘧x者都比較熟悉 PyCharm 與 Jupyter Notebook 等常見的 Python IDE,但 VS Code 一樣不會令你失望。

在本文中,你將學(xué)習(xí)到微軟 Terminal 和 Visual Studio Code 的特性,包括:

   什么是微軟 Terminal

  • 微軟 Terminal 效果怎么樣
  • 安裝 Visual Studio Code
  • 發(fā)現(xiàn)并安裝 Python 擴(kuò)展
  • 編寫簡單的 Python 應(yīng)用程序
  • 了解如何在 VS Code 中運(yùn)行和調(diào)試現(xiàn)有 Python 程序
  • 將 VS Code 連接到 Git 和 GitHub,與全世界分享你的代碼

我們假設(shè)你了解 Python 開發(fā),并且已經(jīng)在系統(tǒng)上安裝了某種版本的 Python(如 Python 2.7、Python 3.6/3.7、Anaconda 或其他)。由于 VS Code 可兼容所有主流平臺,因此你可能會看到略有不同的 UI 元素,并且可能需要修改某些命令。

新興的微軟 Terminal

Windows Terminal 是一個開源終端應(yīng)用程序,由微軟在今年 5 月份的 Build 開發(fā)者大會上推出。MS Terminal 支持 Command Prompt 和 PowerShell 的所有優(yōu)點(diǎn),基本上命令行已經(jīng)可以和 Linux 相融合了,除此之外運(yùn)行命令提示符也是沒問題的。

在 MS Terminal 開源后,GitHub 的 Star 量增長得非??欤壳耙呀?jīng)超過了 5 萬。這足以說明這個項(xiàng)目非常受關(guān)注,在社區(qū)的開源改進(jìn)下,這個工具一定挺好用。

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

當(dāng)然,目前 MS Terminal 已經(jīng)可以直接下載安裝程序了,社區(qū)的體驗(yàn)也非常不錯。因此如果我們在 Windows 上做 Python 開發(fā),命令行工具就可以采用 MS Terminal,它能解決很大一部分的包安裝、環(huán)境控制等問題。

MS Terminal 的效果怎么樣

MS Terminal 最核心的功能就是支持多條選項(xiàng)卡,且每一個選項(xiàng)卡都可以連接到命令行 shell 或應(yīng)用,例如 Command Prompt 或通過 SSH 訪問樹莓派等。下圖展示了這種多選項(xiàng)卡的支持情況:

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

背景透明度、文字高亮都可以自行定義,還能定義 emoji 等符號。如下為基本的展示,我們可以根據(jù)自己的需要調(diào)整整個界面。

整個項(xiàng)目還在積極開發(fā)中,很多功能也都在完善與增加。不過既然是微軟官方維護(hù)的開源項(xiàng)目,那么我們還是非常有信心的,至少在命令行部分可以降低開發(fā)過程中的各種報錯。

安裝和配置 VS Code

前面介紹了開發(fā)中必不可缺的命令行工具,下面我們該聊一聊 VS Code 了,它是支持 Python 開發(fā)的核心工具。下面我們從最初的安裝、環(huán)境管理到編寫、測試、發(fā)布代碼,介紹我們該如何優(yōu)雅地使用 VS Code。

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

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

Visual Studio Code 本身支持多種語言,并且它的一個擴(kuò)展模型具有支持其他組件的豐富生態(tài)系統(tǒng)。VS Code 每月更新,你可以在微軟 Python 博客中了解更新信息。任何用戶都可以克隆微軟的 VS Code Github 倉庫并貢獻(xiàn)自己的代碼

VS Code UI 已有詳細(xì)記錄,這里不予贅述:

Python 擴(kuò)展

如上所述,VS Code 通過詳細(xì)記錄的擴(kuò)展模型支持多種編程語言的開發(fā)。Python 擴(kuò)展使用戶可以在 Visual Studio Code 中進(jìn)行 Python 開發(fā),具有以下特征:

  • 既支持 Python 3.4 及更高版本,也支持 Python 2.7 版本
  • 使用 IntelliSense 完成代碼補(bǔ)全
  • Linting
  • 調(diào)試支持
  • 代碼片段支持
  • 單元測試支持
  • 自動使用 conda 和虛擬環(huán)境
  • 在 Jupyter 環(huán)境和 Jupyter 筆記本中進(jìn)行代碼編輯

Visual Studio Code 擴(kuò)展不僅僅具有編程功能:

  • Keymaps 允許已經(jīng)熟悉 Atom,Sublime Text,Emacs,Vim,PyCharm 或其他環(huán)境的用戶更加容易上手。
  • 主題自定義 UI,無論您喜歡在明亮,黑暗或更豐富多彩的地方進(jìn)行編碼。
  • 語言包提供本地化體驗(yàn)。

以下是比較有用的一些其他擴(kuò)展和設(shè)置:

  • GitLens 直接在編輯視窗中提供了大量有用的 Git 功能,包括非責(zé)任注釋和存儲庫開發(fā)功能。
  • 通過從菜單中選擇 File, Auto Save,可以輕松進(jìn)行自動保存。默認(rèn)延遲時間為 1000 毫秒,也可以重新配置。
  • Settings Sync 允許用戶借助 GitHub 在不同的裝置中同步自己的 VS Code 設(shè)置。如果用戶在不同的計算機(jī)上工作,這有助于運(yùn)行環(huán)境保持一致。
  • Docker 讓用戶可以快速輕松地使用 Docker,幫助創(chuàng)作 Dockerfile 和 docker-compose.yml,打包和部署項(xiàng)目,甚至為項(xiàng)目生成適當(dāng)?shù)?Docker 文件。

當(dāng)然,在使用 VS Code 時,你可能會發(fā)現(xiàn)其他有用的擴(kuò)展。請在評論中分享你的發(fā)現(xiàn)和設(shè)置!

單擊活動欄(Activity Bar)上的「擴(kuò)展」圖標(biāo)可以訪問和安裝新擴(kuò)展和主題。用戶可以輸入關(guān)鍵詞來搜索擴(kuò)展程序,以多種方式對搜索結(jié)果進(jìn)行排序,快速輕松地安裝擴(kuò)展程序。在本文中,在活動欄的 Extensions 項(xiàng)中鍵入 python 并單擊 Install 即可安裝 Python 擴(kuò)展:

用戶可以通過相同的方式查找和安裝上述任何擴(kuò)展。

Visual Studio Code 配置文件

值得一提的是,Visual Studio Code 可通過用戶和工作區(qū)設(shè)置(User and Workspace Settings)實(shí)現(xiàn)高度配置。

用戶設(shè)置(User settings)在所有 Visual Studio Code 實(shí)例中都是全局性的,而工作區(qū)設(shè)置(Workspace Settings)是特定文件夾或項(xiàng)目工作區(qū)的本地設(shè)置。工作區(qū)設(shè)置為 VS Code 提供了極大的靈活性,工作區(qū)設(shè)置會在整篇文章中提到。工作區(qū)設(shè)置以.json 文件的形式存儲在名為.vscode 的項(xiàng)目工作區(qū)本地文件夾中。

啟動新的 Python 程序

讓我們以一個新的 Python 程序來探索 Visual Studio Code 中的 Python 開發(fā)。在 VS Code 中,鍵入 Ctrl + N 打開一個新文件。(你也可以從菜單中選擇「文件」-「新建」。)

無論你如何操作,你都應(yīng)該看到一個類似于以下內(nèi)容的 VS Code 窗口:

打開新文件后,你即可以輸入代碼。

輸入 Python 代碼

作為測試,我們可以快速編碼埃拉托斯特尼篩法(Sieve of Eratosthenes,它可以找出小于已知數(shù)的所有質(zhì)數(shù))。在剛打開的新選項(xiàng)卡中鍵入以下代碼:

等等,這是怎么回事?為什么 Visual Studio Code 沒有進(jìn)行任何關(guān)鍵詞高亮顯示,也沒有進(jìn)行任何自動格式化或任何真正有用的操作呢?它提供了什么?

答案是,VS Code 不知道它正在處理的是什么類型的文件。緩沖區(qū)被稱為 Untitled-1,如果你查看窗口的右下角,則可以看到 Plain Text(純文本)。

若要激活 Python 擴(kuò)展,請保存文件(從菜單中選擇 File-Save 或者從命令面板中選擇 File-Save File 或者只使用 Ctrl + S)為 sieve.py。VS Code 將看到.py 擴(kuò)展名并正確地將該文件轉(zhuǎn)化為 Python 代碼。  

現(xiàn)在你的窗口視圖應(yīng)如下所示:

這樣就好多了!VS Code 會自動將文件重新格式化為 Python 代碼,你可以通過檢查左下角的語言模式予以驗(yàn)證。

如果你有多個 Python 安裝(如 Python 2.7、Python 3.x 或 Anaconda),則可以通過單擊語言模式指示器或者從命令面板中選擇 Python: Select Interpreter 來更改 VS Code 所要使用的 Python 解釋器。默認(rèn)情況下,VS Code 支持使用 pep8 格式,但你也可以選擇 black 或 yapf。

現(xiàn)在可以添加其余的 Sieve 代碼。若要查看 IntelliSense,請直接鍵入此代碼而不要剪切和粘貼,你應(yīng)該看到如下內(nèi)容:

當(dāng)鍵入代碼時,VS Code 會對 for 和 if 語句下面的行進(jìn)行自動、適當(dāng)?shù)目s進(jìn),添加右括號,并給出內(nèi)容提示。

運(yùn)行 Python 代碼

現(xiàn)在代碼已經(jīng)完成,你可以運(yùn)行它了。沒有必要讓編輯器執(zhí)行此操作:Visual Studio Code 可以直接在編輯器中運(yùn)行此程序。保存文件(Ctrl + S),然后在編輯器窗口中單擊右鍵并選擇在終端(Terminal)中運(yùn)行 Python 文件(Run Python File):

你會看到終端窗格顯示在窗口的底部,并顯示代碼輸出結(jié)果。

編輯現(xiàn)有的 Python 項(xiàng)目

在 Sieve of Eratosthenes 示例中,你創(chuàng)建了一個 Python 文件。作為一個例子這很不錯,但很多時候,你需要創(chuàng)建更大的項(xiàng)目,并在更長的時間內(nèi)在它上面進(jìn)行開發(fā)。典型的新項(xiàng)目工作流程可能如下所示:

  • 創(chuàng)建一個文件夾來保存項(xiàng)目(可能包含一個新的 GitHub 項(xiàng)目)
  • 更改為新文件夾
  • 使用命令 code filename.py 創(chuàng)建初始 Python 代碼

在 Python 項(xiàng)目(而不是單個 Python 文件)上使用 Visual Studio Code 開辟了更多功能,使得 VS Code 能夠真正發(fā)揮作用。讓我們來看看它在更大的項(xiàng)目中如何運(yùn)作。

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

為了說明 Visual Studio Code 以項(xiàng)目為中心的特征,我們現(xiàn)在開始在 Python 中重新創(chuàng)建調(diào)度場算法作為方程式評估庫。相應(yīng) GitHub 地址:https://github.com/JFincher42/PyEval。

本地文件夾創(chuàng)建后,你可以快速打開 VS Code 中的整個文件夾。由于我們已經(jīng)創(chuàng)建了文件夾和基本文件,所以首選方法(如上所述)做出如下修正:

  • cd /path/to/project
  • code .

當(dāng)你這種方式打開時,VS Code 了解并將使用它看到的任何 virtualenv、pipenv 或 conda 環(huán)境。你甚至不需要首先啟動虛擬環(huán)境。通過菜單中的 File, Open Folder、鍵盤上的 Ctrl+K, Ctrl+O 或者命令面板中的 File, Open Folder 等方式,你可以打開用戶界面(UI)上的文件夾。

以下是創(chuàng)建的方程式 eval 庫項(xiàng)目:

當(dāng) Visual Studio Code 打開文件夾時,它還會再次打開上次打開的文件(這是可配置的)。你可以打開、編輯、運(yùn)行和調(diào)試列出的任何文件。左側(cè)活動欄中的資源管理器視圖(Explorer view)提供文件夾中所有文件的視圖,并顯示當(dāng)前選項(xiàng)卡集中有多少未保存文件。

代碼測試的支持

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

若要運(yùn)行項(xiàng)目中任何 Python 文件的現(xiàn)有單元測試,請單擊右鍵并選擇 Run Current Unit Test File。系統(tǒng)將提示指定測試框架,在項(xiàng)目中搜索測試的位置以及測試使用的文件名模式。

所有這些都保存為本地.vscode/settings.json 文件中的工作區(qū)設(shè)置,并可以進(jìn)行修改。對于這個等式項(xiàng)目,你可以選擇 unittest、當(dāng)前文件夾和模式 *_test.py。

測試框架設(shè)置完成并顯示測試后,你可以單擊狀態(tài)欄(Status Bar)上的 Run Tests 并從命令面板中選擇一個 option 來運(yùn)行所有測試:

通過在 VS Code 中打開測試文件,單擊狀態(tài)欄上的 Run Tests,然后選擇 Run Unit Test Method 以及其他要運(yùn)行的特定測試,你還可以運(yùn)行單個測試。這使得解決單個測試失敗并重新運(yùn)行失敗的測試變得很簡單,從而能夠節(jié)省大量時間。測試結(jié)果顯示在 Python Test Log 下的 Output 窗格中。

調(diào)試支持

即使 VS Code 是代碼編輯器,直接在 VS Code 中調(diào)試 Python 也是可以的。VS Code 提供的諸多功能可以媲美好的代碼調(diào)試器,包括:

  • 自動變量跟蹤
  • 監(jiān)看表達(dá)式
  • 斷點(diǎn)
  • 調(diào)用堆棧檢查

你可以在活動欄上的 Debug 視圖中看到這些功能:

調(diào)試器可以控制在內(nèi)置終端或外部終端實(shí)例中運(yùn)行的 Python 應(yīng)用程序。它可以附加到已經(jīng)運(yùn)行的 Python 實(shí)例中,甚至可以調(diào)試 Django 和 Flask 應(yīng)用程序。

在單個 Python 文件中調(diào)試代碼就像按 F5 啟動調(diào)試器一樣簡單。你可以按 F10 和 F11 分別跳過和進(jìn)入函數(shù),并按 Shift + F5 退出調(diào)試器。按 F9 設(shè)置斷點(diǎn),或者通過單擊編輯器窗口中的左空白(lift margin)進(jìn)行設(shè)置。

在開始調(diào)試更復(fù)雜的項(xiàng)目(包括 Django 或 Flask 應(yīng)用程序)之前,你首先需要設(shè)置并選擇調(diào)試配置。設(shè)置調(diào)試配置相對簡單。從 Debug 視圖中選擇 Configuration 下拉列表(drop-down),然后選擇 Add Configuration 和 Python:

Visual Studio Code 將在當(dāng)前名為.vscode/launch.json 的文件夾下創(chuàng)建一個調(diào)試配置文件,它允許用戶設(shè)置特定的 Python 配置以及調(diào)試 Django 和 Flask 等特定應(yīng)用程序的設(shè)置。

你還可以執(zhí)行遠(yuǎn)程調(diào)試,并調(diào)試 Jinja 和 Django 模板。關(guān)閉編輯器中的 launch.json 文件,然后從 Configuration 下拉列表中為應(yīng)用程序選擇正確的配置。

Git 集成

VS Code 不僅內(nèi)置對源代碼控制管理的支持,還支持 Git 和 GitHub。你可以在 VS Code 中安裝對其他 SCM 的支持,并列使用它們。用戶可以從 Source Control 視圖訪問源代碼控制:

如果你的項(xiàng)目文件夾包含.git 文件夾,VS Code 會自動打開所有 Git / GitHub 功能。你可以執(zhí)行以下諸多任務(wù):

  • 將文件提交給 Git
  • 將更改推送到遠(yuǎn)程存儲庫(remote repo)并從中取出更改
  • check-out 現(xiàn)有或創(chuàng)建新的分支和標(biāo)簽(branch and tag)
  • 查看并解決合并沖突(merge conflict)
  • 查看差異(view diffs)

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

VS Code 還可以識別編輯器外部進(jìn)行的更改并且正確運(yùn)作。

在 VS Code 中提交最近的更改相當(dāng)簡單。修改后的文件顯示在 Source Control 視圖中,并帶有 M 標(biāo)記,而新的未跟蹤文件使用 U 標(biāo)記。將鼠標(biāo)懸停在文件上然后單擊加號(+)可以暫存更改。在視圖頂部添加提交消息,然后單擊復(fù)選標(biāo)記來提交更改:

你也可以在 VS Code 中將本地提交(local commits)推送到 GitHub。從 Source Control 視圖菜單中選擇 Sync,或者單擊分支指示器(branch indicator)旁邊狀態(tài)欄上的 Synchronize Changes。

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

責(zé)任編輯:龐桂玉 來源: Python專欄
相關(guān)推薦

2022-08-16 10:05:10

WindowsPython代碼

2024-03-29 08:56:47

2023-05-11 07:06:07

谷歌人工智能

2023-05-06 08:23:36

ChatGPT自然語言技術(shù)

2022-08-03 11:24:10

WindowsPython代碼

2025-02-25 10:08:38

2022-09-15 11:56:36

Javalua開發(fā)

2024-05-28 08:25:09

2018-10-24 16:25:57

2025-02-17 09:20:00

AI微信模型

2024-04-15 12:28:00

AI模型

2025-03-21 13:06:17

2024-11-22 13:40:00

2024-04-15 12:54:39

2023-05-24 07:02:39

2024-12-09 09:37:46

2020-11-27 18:02:30

思科后疫情時代數(shù)字化

2022-01-21 09:26:13

微軟動視暴雪收購

2023-05-29 07:19:11

2022-12-28 08:29:12

CKESRediSearch
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號