千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機構(gòu)

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術(shù)干貨  > Windows上寫Python代碼的王炸組合!

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

來源:千鋒教育
發(fā)布人:syq
時間: 2022-09-29 11:10:55 1664421055

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

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

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

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

在 Windows 上怎樣做 Python 開發(fā)445

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

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

  什么是微軟 Terminal

  微軟 Terminal 效果怎么樣

  安裝 Visual Studio Code

  發(fā)現(xiàn)并安裝 Python 擴展

  編寫簡單的 Python 應(yīng)用程序

  了解如何在 VS Code 中運行和調(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)點,基本上命令行已經(jīng)可以和 Linux 相融合了,除此之外運行命令提示符也是沒問題的。

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

在 Windows 上怎樣做 Python 開發(fā)1246

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

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

  MS Terminal 的效果怎么樣

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

在 Windows 上怎樣做 Python 開發(fā)1546

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

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

在 Windows 上怎樣做 Python 開發(fā)1761

  整個項目還在積極開發(fā)中,很多功能也都在完善與增加。不過既然是微軟官方維護的開源項目,那么我們還是非常有信心的,至少在命令行部分可以降低開發(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)容:

在 Windows 上怎樣做 Python 開發(fā)2089

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

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

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

在 Windows 上怎樣做 Python 開發(fā)2333

  Python 擴展

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

  既支持 Python 3.4 及更高版本,也支持 Python 2.7 版本

  使用 IntelliSense 完成代碼補全

  Linting

  調(diào)試支持

  代碼片段支持

  單元測試支持

  自動使用 conda 和虛擬環(huán)境

  在 Jupyter 環(huán)境和 Jupyter 筆記本中進行代碼編輯

在 Windows 上怎樣做 Python 開發(fā)2593

  Visual Studio Code 擴展不僅僅具有編程功能:

  Keymaps 允許已經(jīng)熟悉 Atom,Sublime Text,Emacs,Vim,PyCharm 或其他環(huán)境的用戶更加容易上手。

  主題自定義 UI,無論您喜歡在明亮,黑暗或更豐富多彩的地方進行編碼。

  語言包提供本地化體驗。

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

  GitLens 直接在編輯視窗中提供了大量有用的 Git 功能,包括非責任注釋和存儲庫開發(fā)功能。

  通過從菜單中選擇 File, Auto Save,可以輕松進行自動保存。默認延遲時間為 1000 毫秒,也可以重新配置。

  Settings Sync 允許用戶借助 GitHub 在不同的裝置中同步自己的 VS Code 設(shè)置。如果用戶在不同的計算機上工作,這有助于運行環(huán)境保持一致。

  Docker 讓用戶可以快速輕松地使用 Docker,幫助創(chuàng)作 Dockerfile 和 docker-compose.yml,打包和部署項目,甚至為項目生成適當?shù)?Docker 文件。

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

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

在 Windows 上怎樣做 Python 開發(fā)3253

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

  Visual Studio Code 配置文件

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

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

  啟動新的 Python 程序

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

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

在 Windows 上怎樣做 Python 開發(fā)3718

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

  輸入 Python 代碼

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

在 Windows 上怎樣做 Python 開發(fā)3829

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

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

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

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

在 Windows 上怎樣做 Python 開發(fā)4140

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

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

在 Windows 上怎樣做 Python 開發(fā)4384

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

在 Windows 上怎樣做 Python 開發(fā)4451

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

  運行 Python 代碼

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

在 Windows 上怎樣做 Python 開發(fā)4666

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

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

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

  創(chuàng)建一個文件夾來保存項目(可能包含一個新的 GitHub 項目)

  更改為新文件夾

  使用命令 code filename.py 創(chuàng)建初始 Python 代碼

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

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

  為了說明 Visual Studio Code 以項目為中心的特征,我們現(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 .

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

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

在 Windows 上怎樣做 Python 開發(fā)4140

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

  代碼測試的支持

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

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

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

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

在 Windows 上怎樣做 Python 開發(fā)4384

 

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

  調(diào)試支持

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

  自動變量跟蹤

  監(jiān)看表達式

  斷點

  調(diào)用堆棧檢查

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

1

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

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

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

2

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

  你還可以執(zhí)行遠程調(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 視圖訪問源代碼控制:

3

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

  將文件提交給 Git

  將更改推送到遠程存儲庫(remote repo)并從中取出更改

  check-out 現(xiàn)有或創(chuàng)建新的分支和標簽(branch and tag)

  查看并解決合并沖突(merge conflict)

  查看差異(view diffs)

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

4

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

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

5

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

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

tags:
聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強師集結(jié),手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內(nèi)將與您1V1溝通
免費領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學 138****2860 剛剛成功領(lǐng)取
王同學 131****2015 剛剛成功領(lǐng)取
張同學 133****4652 剛剛成功領(lǐng)取
李同學 135****8607 剛剛成功領(lǐng)取
楊同學 132****5667 剛剛成功領(lǐng)取
岳同學 134****6652 剛剛成功領(lǐng)取
梁同學 157****2950 剛剛成功領(lǐng)取
劉同學 189****1015 剛剛成功領(lǐng)取
張同學 155****4678 剛剛成功領(lǐng)取
鄒同學 139****2907 剛剛成功領(lǐng)取
董同學 138****2867 剛剛成功領(lǐng)取
周同學 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
大數(shù)據(jù)測試工程師需要具備哪些技能?

一、理解大數(shù)據(jù)概念大數(shù)據(jù)測試工程師需要理解大數(shù)據(jù)的基本概念和原理,如分布式存儲、MapReduce、實時計算等。他們還需要了解如何處理大規(guī)模的...詳情>>

2023-10-14 23:43:03
為什么SpringBoot的 jar 可以直接運行?

一、JAR文件的結(jié)構(gòu)與執(zhí)行方式Spring Boot的JAR包是Java Archive的縮寫,它是一種壓縮文件格式,可以將Java項目的類文件、資源文件以及依賴庫等...詳情>>

2023-10-14 23:01:49
站群服務(wù)器是什么?

站群服務(wù)器的含義與用途站群服務(wù)器主要用于支持站群,即由一組相互鏈接的網(wǎng)站組成的群體。這些網(wǎng)站通常由同一組織或個人擁有,并且經(jīng)常會互相鏈...詳情>>

2023-10-14 22:46:12
自編碼器是什么?

一、自編碼器原理自編碼器的設(shè)計靈感源于神經(jīng)科學中關(guān)于感知系統(tǒng)的認知原理,它的核心思想是將輸入數(shù)據(jù)經(jīng)過編碼過程,形成一個隱藏層的特征表示...詳情>>

2023-10-14 22:41:10
什么是云網(wǎng)融合?

一、云網(wǎng)融合的定義云網(wǎng)融合是指將云計算與網(wǎng)絡(luò)技術(shù)相結(jié)合,實現(xiàn)資源的共享、業(yè)務(wù)的協(xié)同,將網(wǎng)絡(luò)與云端服務(wù)深度融合,提供更靈活、高效、安全的...詳情>>

2023-10-14 22:31:47
久久亚洲中文字幕精品一区四,亚洲日本另类欧美一区二区,久久久久久久这里只有免费费精品,高清国产激情视频在线观看
亚洲国产欧美在线人网站 | 久久99久久99久久综合 | 日本无遮真人祼交视频 | 在线观看国产欧美另类激情 | 日本久久久久中文视频字幕 | 亚洲欧美国产一级视频 |