技術筆記-在 mac 安裝 python 並建立虛擬環境

閱讀時間約 3 分鐘

首先安裝 python,依照 官網 的指示,下載正確的版本並執行就可,重點在以下。

虛擬環境的管理平台許多人使用 anaconda,許多教 python 的課程第一堂就是不管三七二十一先安裝再說,但我用了一陣子之後覺得它實在太笨重了,早有掙脫的想法,欣見原生的 python 已經具有虛擬環境管理模組,就是 venv,使用起來也挺容易的,下達以下指令:

python3 -m venv envName

就會在當前目錄下建立一個資料夾 envName,裡面放置了一個環境所必須有的基本配備,就是 python 直譯器和套件管理工具 pip,還有啟動此環境所需要的 script;日後該環境所有的套件都會限縮在這裡面,玩壞了或不滿意就整個砍掉,乾乾淨淨。要啟動該該環境則使用此指令:

source envName/bin/activate

若啟動成功,command line 的提示詞就會出現該環境的名稱如下:

(envName) newman@nmMac DataScience %


下一步就是安裝開發環境,以往是習慣安裝 jupyter notebook,然後在 command line 啟動之再開啟 browser 使用,實在也有點小麻煩;因為好像有聽說 vscode 裡面也可以用 notebook,所以我暫緩動作,先用 vs code 打開專案看看。…結果果然 notebook 檔案的確正確開啟,但怎麼選都選不到剛剛建立的環境!


經過一番掙扎,終於搞懂了,不同於 anaconda 有一個中央註冊機制,可以列出納管的所有虛擬環境,venv 是分散自治的,所有運作資訊都保存在一個資料夾裡面,所以 vscode 當然就無法偵測到它的存在了,這該怎麼辦才好?解決方法很簡單,把虛擬環境建立在專案資料夾裡面就好了!想起來也很合理,vscode 不可能隨時在掃描整個電腦哪邊建立了新的環境了,但若在專案目錄裡就算合理,利用前述指令在專案目錄裡建立虛擬環境:

python3 -m venv .venv

指令剛下完 vscode 就很機警的提示說「發現新環境」,真乖。

raw-image


這個設計哲學就是一個專案一個環境,非常合理,原始的 python 環境在安裝後的功用只有用到 venv 然後就貢起來束之高閣,從此就不會再動不動就套件版本衝突了啦。只是這個虛擬環境資料夾會隨著套件安裝的增多而越來越大,記得必須加到 gitignore 裡面,以免增加 git server 無謂的負擔。我也為自己訂下一個開發原則,就是固定把環境名稱叫做 .venv,這樣在 mac 它會成為隱藏資料夾,平時寫程式時也不須跑出來礙眼了。


vscode 跨平台表現非常優越,幾乎取代了所有的 ide,手邊在開發的幾種專案類型都是用它,包含 angular,python with jupyter notebook,python with flask,nodejs,都是活在其上的。


歸納以上筆記用到的指令:

# 建立環境,記得在專案目錄內:
python3 -m venv .venv

# 啟動環境,啟動後可以在裡面用 pip install 安裝套件:
source .venv/bin/activate

# 列出此環境安裝了哪些套件
pip list

# 將目前環境的所有套件連同版本,輸出到一個檔案
# 當開發完成要把程式連同環境 deploy 到雲端 (我是用 azure) 時需要用到此檔案,很重要
pip freeze > requirements.txt

# 離開環境
deactivate

# 砍掉環境:
rm -rf .venv


紐曼 Newman,2023/3/17

導覽頁:紐曼的技術筆記-索引




avatar-img
22會員
106內容數
漫步是一種境界。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
你可能也想看
Google News 追蹤
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
本文介紹如何在Python開發過程中建立虛擬環境以避免程式庫衝突,並使用Jupyter Notebook切換不同的虛擬環境。讓開發者能夠輕鬆地在不同環境中工作,提升開發效率。本文涵蓋從建立虛擬環境到管理Jupyter核心的完整步驟,適合希望優化其Python開發流程的讀者。
Thumbnail
這篇文章提供了一個詳細的指南,教你如何在你的電腦上下載和設置Python開發環境,尤其是使用VScode編輯器。從Python的下載與安裝到VScode的設置,這裡還涵蓋了安裝中文語言包的步驟,讓你的編程環境更加友好。
Thumbnail
想要使用python學習程式應該要怎麼開始呢? 首先就是要下載Python(程式語言)還有Pychar(整合開發環境,IDE)這兩個軟體。 在Google的搜尋欄位打上Python下載, 點選第一個Download Python。 第二步點選Download,選擇你的電腦系統。
首先要安裝vscode : Visual Studio Code - Code Editing. Redefined 安裝後我們就可以把她打開來,接著去檔案 -> 喜好設定 -> 設定檔(預設) -> 你就會看到設定裡面的 settings.json,就可以開始你的設定拉(主要是依照個人的喜好設定
Thumbnail
對於剛開始接觸Python的新手來說,無疑會在眾多執行環境中迷茫,不知道應該選擇哪一個比較好? 在這個情況下,我會推薦一個好的起點– Anaconda。現在,讓我們花費一分鐘的時間,我將引導你成功安裝Anaconda,並且正式開啟你在資料科學領域的旅程!
Thumbnail
什麼是Python python是電腦程式語言的一種,如同python官方網站上的介紹 "Python是一種程式語,可讓你更快速地工作並更有效的整合系統"。簡單地說,就是你可用python這個程式語言去告訴電腦你想要作什麼,讓電腦來幫你完成你要作的事情。
Thumbnail
情況描述 我們在「【🔒 Python 先修班】教你親手打包專屬套件庫的手作課(pip install…)」有提到如何打包Python讓自己的程式變成套件, 讓其他人可以用pip install的方式進行安裝,😲 But… 我們實際上打包後, 發現到引用的檔案都有被打包進去,但目錄卻未被打包
Thumbnail
先來名詞解釋jython跟JES: jython是一種實現了Python語言的Java平台版本的解釋器。它允許開發人員在Java虛擬機(JVM)上運行Python代碼,從而實現了Python語言與Java平台的無縫集成。 JES(Jython Environment for Students)是
想要開始Python語言的開發環境,有兩種常見方式,一種是下載安裝到本機端,另一種是直接在雲端執行。本文將介紹三個常見的開發工具及其安裝步驟。
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
本文介紹如何在Python開發過程中建立虛擬環境以避免程式庫衝突,並使用Jupyter Notebook切換不同的虛擬環境。讓開發者能夠輕鬆地在不同環境中工作,提升開發效率。本文涵蓋從建立虛擬環境到管理Jupyter核心的完整步驟,適合希望優化其Python開發流程的讀者。
Thumbnail
這篇文章提供了一個詳細的指南,教你如何在你的電腦上下載和設置Python開發環境,尤其是使用VScode編輯器。從Python的下載與安裝到VScode的設置,這裡還涵蓋了安裝中文語言包的步驟,讓你的編程環境更加友好。
Thumbnail
想要使用python學習程式應該要怎麼開始呢? 首先就是要下載Python(程式語言)還有Pychar(整合開發環境,IDE)這兩個軟體。 在Google的搜尋欄位打上Python下載, 點選第一個Download Python。 第二步點選Download,選擇你的電腦系統。
首先要安裝vscode : Visual Studio Code - Code Editing. Redefined 安裝後我們就可以把她打開來,接著去檔案 -> 喜好設定 -> 設定檔(預設) -> 你就會看到設定裡面的 settings.json,就可以開始你的設定拉(主要是依照個人的喜好設定
Thumbnail
對於剛開始接觸Python的新手來說,無疑會在眾多執行環境中迷茫,不知道應該選擇哪一個比較好? 在這個情況下,我會推薦一個好的起點– Anaconda。現在,讓我們花費一分鐘的時間,我將引導你成功安裝Anaconda,並且正式開啟你在資料科學領域的旅程!
Thumbnail
什麼是Python python是電腦程式語言的一種,如同python官方網站上的介紹 "Python是一種程式語,可讓你更快速地工作並更有效的整合系統"。簡單地說,就是你可用python這個程式語言去告訴電腦你想要作什麼,讓電腦來幫你完成你要作的事情。
Thumbnail
情況描述 我們在「【🔒 Python 先修班】教你親手打包專屬套件庫的手作課(pip install…)」有提到如何打包Python讓自己的程式變成套件, 讓其他人可以用pip install的方式進行安裝,😲 But… 我們實際上打包後, 發現到引用的檔案都有被打包進去,但目錄卻未被打包
Thumbnail
先來名詞解釋jython跟JES: jython是一種實現了Python語言的Java平台版本的解釋器。它允許開發人員在Java虛擬機(JVM)上運行Python代碼,從而實現了Python語言與Java平台的無縫集成。 JES(Jython Environment for Students)是
想要開始Python語言的開發環境,有兩種常見方式,一種是下載安裝到本機端,另一種是直接在雲端執行。本文將介紹三個常見的開發工具及其安裝步驟。