愛伊米

2021 年 Windows 成了 Python 開發者的首選

作者 | Chris Patti

譯者 | 彎月   責編 | 歐陽姝黎

出品 | CSDN(ID:CSDNnews)

以下為譯文:

近年來,蘋果的膝上型電腦硬體設計決策讓我感到非常痛苦,因此我不打算繼續在這個平臺上開展個人工作了。雖然最新的硬體有所改善,但既然已經做了決定,近期內我都不打算回頭了。

我的第一個選擇是 Linux 桌面系統,與不穩定和可訪問性問題苦苦鬥爭了幾個月後,我承認我一直在尋找某種穩定、可靠的替代方案,我希望找到某個足夠強大的解決方案,不僅能夠完成工作,甚至還可以提供一些新功能。作為老程式設計師,有時候我還是希望嘗試一些新花樣。

如果你曾經接觸過 Windows,而且發現自己不喜歡其神秘又複雜的UI,則我建議你繼續閱讀本文,也許會讓你有所改觀。

由於選擇正確的工具完全取決於個人的獨特需求,因此下面我將討論並展示 Windows 滿足常見的一些需求的情況。

2021 年 Windows 成了 Python 開發者的首選

1、命令列

幾十年前,UNIX最吸引我的功能之一就是 shell。只需要鍵入一些命令,就可以完成所有的工作,而且還可以將多個命令串在一起,建立非常強大的機制,真是太讓我著迷了。

如今,我仍然非常喜歡 Bourne shell,它和幾十年前一樣強大。然而,Windows Powershell 擁有一些非常強大的正規化,值得研究。

除了 UNIX shell 根本無法完成的物件管道和所需狀態配置之外,現代 Powershell 還具有一些非常讓人享受的功能,比如Oh My Posh(https://ohmyposh。dev/)可營造出非常舒適的工作環境。請看下面的截圖:

2021 年 Windows 成了 Python 開發者的首選

可以看到,我設定好了各種狀態行提示,比如上一個命令的退出程式碼、當前的 git 分支、當前的 Python 版本和虛擬環境等等。

雖然 Powershell 與我習慣的 UNIX shell 完全不同,但它的每個命令都有內建的幫助文件,而且語法也比較好理解,因此學習曲線並不陡峭。

大多數 UNIX 使用者在使用 Windows 時都會抱怨,一切工作都需要在 GUI 上利用滑鼠點選完成,而且感覺自己就像被困在了一系列沒有盡頭的安裝程式螢幕中,甚至無法安裝基本的工作工具。現代 Windows 的 winget 打破了這種困境,這是一個完整的包管理器,其中包含大量常見的應用程式。你只需要執行 winget install git 就可以了。

2、不喜歡使用滑鼠

作為一名極其不喜歡運動的人,使用 Windows 標準的圖示和指標使用者介面,令我非常痛苦。我希望需要只要敲幾下鍵盤就能啟動應用程式。在 Mac 上,我可以利用 Alfred,除了透過鍵盤應用程式外,Alfred 還增加了一系列能夠將生產力提升到更高級別的功能。

而最近 Windows 添加了一個看起來同樣強大且簡單的功能:Microsoft Powertoys 的 Powertoys Run 功能。我完全可以透過鍵盤啟動應用程式,還可以透過設定功能鍵來使用睡眠、重啟等系統功能。

Powertoys 還有一個令我心動的附加功能是它的鍵盤管理器,我可以透過它將Ctrl鍵對映到CAPS LOCK ,這樣 Ctrl 鍵就在我小指旁邊,非常方便使用。

3、Python:幾千人努力培養的平臺

如果是在幾年前,你同時提到“Python”和“Windows”這兩個詞,恐怕很多 Python 程式設計師都會衝你翻白眼,然後告訴你當初他們如何花費了數週時間苦苦掙扎,只為了讓某些關鍵的模組正常工作。

2021 年 Windows 成了 Python 開發者的首選

但是,這樣的日子已經一去不復返了。如今微軟和整個 Python 社群投入了無數的工程師,努力在 Windows 環境下打造一流的 Python 體驗。無論是虛擬環境、poetry,還是集成了 pipx 之類的shell 安裝與管理命令列指令碼工具,都可以在Windows 的 Powershell 下正常工作。

如果你編寫了一些原生的 UNIX核心程式碼,那麼Windows也可以滿足你的需求(請參見Linux 的 Windows 子系統)。

4、WSL:我看到企鵝了!

有了 WSL2 以及最近出現的 WSL-g ,你就可以在 Windows 上無縫構建、除錯和執行 Linux 程式了,包括需要 X/Wayland GUI 支援或聲音的程式。

它不僅可以保證相容性,而且是在 Windows 中執行的 Linux 核心。如今,二者的整合已非常完善,你可以成功地在 WSL 中執行 Docker等工具,真是了不起!

此外,大多數流行的主流開發工具,比如 Pycharm 和 Visual Studio Code,都可以很好地支援在 WSL 中進行部署和除錯。

微軟確實在這方面下足了功夫。與 Mac 不同的是,你不需要使用執行在 Mach 微核心之上的 FreeBSD 使用者空間,你執行的完全是 Linux。

5、擁抱創新

作為一名技術人員,能夠尋找到技術領域內高速、高價值的創新,我感到非常自豪。

多年前,當許多人使用 DOS、OSX 之前的 MacOS 或 Sun 的 Sparc 之類的超級昂貴的專有供應商工作站時,我使用的是Linux。能夠在商品硬體上擁有一個UNIX 環境,就好像上天賜給凡人的禮物一樣。

雖然我仍然 Linux 桌面版具有非凡的潛力,但對我來說,缺乏可訪問性等功能實在是無法忍受,而且也嚴重影響生產力。

因此,我打算擁抱了一個有效的桌面系統,一個有效的生態系統,以及一個背景雄厚且能夠將資源投入到提高標準和創新的公司

我期待著進一步探索Windows這個平臺的潛力。

今天給大家推薦一本機器學習、深度學習的人都應該聽說過一本經典教材:《Pattern Recognition and Machine Learning》,中文譯名《模式識別與機器學習》,簡稱 PRML。出自微軟劍橋研究院實驗室主任 Christopher Bishop 大神之手。對,就是豆瓣評分 9。5 的這本書。

2021 年 Windows 成了 Python 開發者的首選

資料獲取方法