Atom怎麼設定 Python 虛擬環境(Win環境)

2021-11-19 22:00:34
編輯器怎麼設定 Python 虛擬環境?下面本篇文章給大家介紹一下Windows 下設定 Atom 編輯器的Python環境的方法,希望對大家有所幫助!

我為什麼選擇 Atom

Atom 在 Windows 的文字編輯器裡面可以說是完全拍的上號的,用的人也比較多。我選擇 Atom 主要還是因為之前用過 Vim,而 Atom 的 Vim 外掛已經把常用功能全部都做到位了,包括 (Ctrl + A / Ctrl + X) 進行數位增減的操作。加上一個 ex-mode 外掛實現 : 命令,已經非常貼合 Vim 的使用體驗了。【相關推薦:】

至於為什麼不用 Vim 了,因為 Vim 現在更新到 8.2 了,我以前設定的 vimrc 已經搬不過來了(救救孩子,孩子已經看不懂怎麼配了 TAT)

Python 開發需求

為了便於管理第三方庫,推薦在 Python 開發的時候構建虛擬環境。不過日常使用時,如果不是大專案,跑個作業或者測試程式,甚至可能程式碼還沒有報錯資訊長,就沒必要專門開一個虛擬環境了。
這時問題就來了,我安裝的 Python 根目錄下沒有我想要的包,所以我想用虛擬環境的編譯器去跑我的程式碼,但是我又不想在體驗稀爛的 cmd 或者 Anaconda Prompt 裡面去用命令跑我的程式,那怎麼才能把這個功能整合到 Atom 裡面呢?

相關外掛

執行程式用的 atom-python-run

這裡我的 Atom 可以跑程式的關鍵是 atom-python-run 這個外掛:

atom-python-run

這個外掛允許你按下 F5F6 就可以執行當前的程式。其實原理很簡單,就是執行了一條自定義命令:

F5command

這條命令是可以更改的。改起來也很簡單,只需要知道 {file} 代表的是當前檔案,而每次按下 F5 都會執行一遍這條指令就好。

很顯然,這個外掛無法解決虛擬環境的問題。雖然你大可以把這條指令寫明成用虛擬環境的 Python 編譯器執行,但是其他外掛的工作環境並沒有變化。結果就是你寫程式碼的時候 pylint 在不停地告訴你這個包找不到那個包不存在,強迫症當場去世。

虛擬環境外掛嘗試

所以我又去找了別的外掛,參考了這篇文章找到了這個 atom-python-virtualenv.

博主在 Ubuntu 上搞好像沒有問題,但我這 Windows 下卻是不行的。嘗試修改了很久的引數,卻還是不行。最後,我翻到外掛作者的說明,發現這個外掛暫時不支援 anaconda 的虛擬環境!作者寫了一個 To-Do list,其中有三項:

  • 加入對用 pip 安裝新包的支援;
  • 加入對 pip 虛擬環境的支援;
  • 加入對 conda 虛擬環境的支援。

也就意味著以上三者,現在都做不到。

解決方案

如果外掛行不通的話,我想到的最簡單的方法就是更改整個 Atom 的執行環境。Ubuntu 中 shell 的環境變數是可以繼承到其子程序中的,也就是你在終端開啟一個新的應用,這個應用的環境變數會繼承這個終端的。在 Windows 內應該有類似的特性。

所以,我嘗試從 Anaconda Prompt 中用命令啟動 Atom:

command-base

PS:Atom 安裝沒有自定義介面,應該會預設修改好環境變數(以及強制裝在 C 盤)。但如果確實出現這條命令不存在的情況,可以自行找到 Atom 安裝目錄,把 bin 的路徑夾放進 Path 環境變數,再重新啟動命令列就好。

這個 base 環境下是沒有 opencv 的,看到這裡 import cv2 是報錯的,繼續執行也會出現錯誤。

在這裡插入圖片描述

而當我在 Anaconda Prompt 中更改虛擬環境再開啟 Atom 時:

在這裡插入圖片描述

我發現 pylint 的報錯消失了,程式也可以正常執行:

在這裡插入圖片描述
在這裡插入圖片描述

好誒!雖然這個方法肯定是做不到虛擬環境的熱切換,但是本來就是寫一個小專案要用,基本也不會有切換虛擬環境的需求,問題解決。

我這裡是用 conda 的虛擬環境作的範例,實際上 pip 的虛擬環境也是一樣的道理,只要先更改 shell 的環境變數,再在這個 shell 內執行 atom 命令開啟 Atom 就完成了。

進一步,如果還是感覺這個解決方案需要每次啟動都切換環境太麻煩,那麼還可以把這兩條命令封裝起來,變成一個 bat 指令碼檔案。具體來說,新建一個文字檔案,將以下命令

start /k cmd "conda activate <your env> && atom"

輸入,並將檔案連同其擴充套件名重新命名成一個 bat 檔案,例如 atom_venv.bat。你可以把這個檔案放在桌面,那麼下次你希望啟動虛擬環境為 <your env> 的 Atom,那麼只需要把命令裡的 <your env> 換成你的環境名就好。

這條命令會開啟一個新的命令列視窗,並分別執行引號內 && 前後的兩條指令,感興趣的話可以查一查相關的指令碼編寫資料 XD

完成

Atom, 包括我之前用的 Vim,有一個共同的毛病,就是對 Windows 的支援比不上 Linux。這也很無奈,畢竟兩種作業系統最初的目標群體就是不同的,設計理念上就有很大的出入。

不過呢,兩種系統在近年來其實有相互取長補短的意思。撇開 Linux 的人性化介面不說,微軟已經為 Windows 10 做出了一個終端。在微軟商店裡搜尋 「Windows Terminal」 即可下載安裝。這東西是基於 PowerShell 的,包裝得很好,用著自然是比 cmd 舒服多了。支援很多 Terminal 的功能,比如很好用的程式碼自動補全,還有自己的組態檔,可以儲存 Python 的虛擬環境方便下次使用。

囉嗦了挺多的hhh 其實估計大部分人並沒有時間去讀這些廢話,所以我在解決方案這部分做到儘量簡潔明瞭。但是我還是想嘴碎嘴碎,說點別的題外話。感謝你能看到這裡。

【相關推薦:《》】

以上就是Atom怎麼設定 Python 虛擬環境(Win環境)的詳細內容,更多請關注TW511.COM其它相關文章!