詳解Atom配置Python虛擬環境的方法(Windows環境)

本篇文章給大家介紹一下windows環境下,atom編輯器配置python虛擬環境的方法。有一定的參考價值,有需要的朋友可以參考一下,希望對大家有所幫助。

詳解Atom配置Python虛擬環境的方法(Windows環境)

相關推薦:《atom

我為什么選擇 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 里面呢?

立即學習Python免費學習筆記(深入)”;

相關插件

運行程序用的 atom-python-run

這里我的 Atom 可以跑程序的關鍵是 atom-python-run 這個插件:

詳解Atom配置Python虛擬環境的方法(Windows環境)

這個插件允許你按下 F5 或 F6 就可以執行當前的程序。其實原理很簡單,就是執行了一條自定義命令:

詳解Atom配置Python虛擬環境的方法(Windows環境)

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

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

虛擬環境插件嘗試

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

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

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

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

解決方案

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

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

詳解Atom配置Python虛擬環境的方法(Windows環境)

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

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

詳解Atom配置Python虛擬環境的方法(Windows環境)

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

詳解Atom配置Python虛擬環境的方法(Windows環境)

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

詳解Atom配置Python虛擬環境的方法(Windows環境)
詳解Atom配置Python虛擬環境的方法(Windows環境)

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

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

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

start?/k?cmd?"conda?activate?<your>?&amp;&amp;?atom"</your>

輸入,并將文檔連同其擴展名重命名成一個 bat 文件,例如 atom_venv.bat。你可以把這個文件放在桌面,那么下次你希望啟動虛擬環境為 的 Atom,那么只需要把命令里的 換成你的環境名就好。

這條命令會打開一個新的命令行窗口,并分別執行引號內 && 前后的兩條指令,感興趣的話可以查一查相關的腳本編寫資料 XD

完成

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

不過呢,兩種系統在近年來其實有相互取長補短的意思。撇開 Linux 的人性化界面不說,微軟已經為 Windows 10 做出了一個終端。在微軟商店里搜索 “Windows Terminal” 即可下載安裝。這東西是基于 PowerShell 的,包裝得很好,用著自然是比 cmd 舒服多了。支持很多 Terminal 的功能,比如很好用的代碼自動補全,還有自己的配置文件,可以保存 Python 的虛擬環境方便下次使用。

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

更多編程相關知識,請訪問:atom!!

? 版權聲明
THE END
喜歡就支持一下吧
點贊5 分享