技術筆記-在 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
16會員
99內容數
漫步,悠閒自在的隨意行走!是行為,是態度,也是一種境界。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
你可能也想看
Google News 追蹤
Thumbnail
Hi 我是 VK~ 在 8 月底寫完〈探索 AI 時代的知識革命:NotebookLM 如何顛覆學習和創作流程?〉後,有機會在 INSIDE POSSIBE 分享兩次「和 NotebookLM 協作如何改變我學習和創作」的主題,剛好最近也有在許多地方聊到關於 NotebookLM 等 AI 工具
Thumbnail
國泰CUBE App 整合外幣換匯、基金、證券等服務,提供簡便、低成本的美股定期定額投資解決方案。 5分鐘開戶、低投資門檻,幫助新手輕鬆進軍國際股市;提供人氣排行榜,讓投資人能夠掌握市場趨勢。
Thumbnail
這是張老師的第三本書,我想前二本應該也有很多朋友們都有讀過,我想絕對是受益良多,而這次在書名上就直接點出,著重在從投資的角度來切入
Thumbnail
Obsidian的Slogan是"Sharpen Your Thinking"。自從我於2020年11月開始使用Obsidian,這個數位筆記軟體就深深吸引了我。透過Papaya 電腦教室的影片介紹,我花了不到兩小時就被這個工具所吸引。
Thumbnail
體悟1 - 理解筆記和地圖的角色:筆記就如同「園藝師」的種子,它們是我學習的起點,我會根據我的興趣和需要去收集和創造這些種子。然而,地圖則更像是「工程師」的設計圖,它將這些散落的筆記有條理地組織起來,為我的學習建立結構。 體悟2 - 創建自我學習的循環:在創造筆記(次原子想法)和整理學習地圖(原紫短
Thumbnail
卡片筆記的標題,對應著卡片筆記的類型,與卡片內容的資訊顆粒度。 卡片筆記的標題,也決定了我們的Obsidian筆記庫的生長是否有序。 好的卡片筆記標題,能讓Obsidian的連結功能更加強大,讓我們的知識工作完成得更快更好。 在我製作了7600+份Osidian的數位筆記以後,我總結出最實用的3種卡
Thumbnail
#一個筆記本大食怪教您如何挑選子彈筆記本 高效生活筆記術需要一個載體系統,我慣行的筆記系統是「子彈筆記術」 這種把生活大小事,包含:行事週計劃表、每日待辦清單、每日習慣追蹤、共備會議紀錄、備課想法紀錄、閱讀聽講筆記、自由書寫日記,甚至是使命宣言、睡前宣言、晨間宣言、夢想清單…一切通通放在一個本子..
Thumbnail
你因為愈夜愈美麗總是難以晨起?Hal的秘訣第一步是建立睡前好心態: 「睡前肯定」(Bedtime Affirmation )
Thumbnail
高品質課程筆記術 -- 推薦給職場菁英及學生 頂尖菁英職場人都在用!清楚整理思緒、建構問題思考出解決對策 -- 麥肯錫筆記法 x 課程檢核表,內容附各使用範例,五分鐘輕鬆學會實用技巧。可以自由下載列印或iPad筆記使用喔。
★Hello World,自從進入網路時代, 我們便不斷累積在網路上生活的痕跡; Goodbye World,當人生走到終點, 我們又該如何面對與處理這些遺留的資產? ●在網路時代裡,有些東西或許會「活」得比你的肉體還要久—你的臉書帳號(到了2099年,可能會有大約50億個已經過世的人仍然保存著他們
Thumbnail
這篇文章寫給想使用數位筆記軟體實作卡片盒筆記法的人。因為多數人都會在同一個軟體中使用多種筆記方法,很容易讓檔案最後攪和在一起。我會分享 ACCESS 分類法,可以讓你的筆記檔案不再混亂。
Thumbnail
雖然子彈筆記術的核心價值仍然主張「手寫」,但本人天生就是美術笨蛋,所以如果可以直接使用照片或圖片來豐富自己的筆記,那麼我還是會選擇用數位化的方式來紀錄管理我的工作和生活。
Thumbnail
Hi 我是 VK~ 在 8 月底寫完〈探索 AI 時代的知識革命:NotebookLM 如何顛覆學習和創作流程?〉後,有機會在 INSIDE POSSIBE 分享兩次「和 NotebookLM 協作如何改變我學習和創作」的主題,剛好最近也有在許多地方聊到關於 NotebookLM 等 AI 工具
Thumbnail
國泰CUBE App 整合外幣換匯、基金、證券等服務,提供簡便、低成本的美股定期定額投資解決方案。 5分鐘開戶、低投資門檻,幫助新手輕鬆進軍國際股市;提供人氣排行榜,讓投資人能夠掌握市場趨勢。
Thumbnail
這是張老師的第三本書,我想前二本應該也有很多朋友們都有讀過,我想絕對是受益良多,而這次在書名上就直接點出,著重在從投資的角度來切入
Thumbnail
Obsidian的Slogan是"Sharpen Your Thinking"。自從我於2020年11月開始使用Obsidian,這個數位筆記軟體就深深吸引了我。透過Papaya 電腦教室的影片介紹,我花了不到兩小時就被這個工具所吸引。
Thumbnail
體悟1 - 理解筆記和地圖的角色:筆記就如同「園藝師」的種子,它們是我學習的起點,我會根據我的興趣和需要去收集和創造這些種子。然而,地圖則更像是「工程師」的設計圖,它將這些散落的筆記有條理地組織起來,為我的學習建立結構。 體悟2 - 創建自我學習的循環:在創造筆記(次原子想法)和整理學習地圖(原紫短
Thumbnail
卡片筆記的標題,對應著卡片筆記的類型,與卡片內容的資訊顆粒度。 卡片筆記的標題,也決定了我們的Obsidian筆記庫的生長是否有序。 好的卡片筆記標題,能讓Obsidian的連結功能更加強大,讓我們的知識工作完成得更快更好。 在我製作了7600+份Osidian的數位筆記以後,我總結出最實用的3種卡
Thumbnail
#一個筆記本大食怪教您如何挑選子彈筆記本 高效生活筆記術需要一個載體系統,我慣行的筆記系統是「子彈筆記術」 這種把生活大小事,包含:行事週計劃表、每日待辦清單、每日習慣追蹤、共備會議紀錄、備課想法紀錄、閱讀聽講筆記、自由書寫日記,甚至是使命宣言、睡前宣言、晨間宣言、夢想清單…一切通通放在一個本子..
Thumbnail
你因為愈夜愈美麗總是難以晨起?Hal的秘訣第一步是建立睡前好心態: 「睡前肯定」(Bedtime Affirmation )
Thumbnail
高品質課程筆記術 -- 推薦給職場菁英及學生 頂尖菁英職場人都在用!清楚整理思緒、建構問題思考出解決對策 -- 麥肯錫筆記法 x 課程檢核表,內容附各使用範例,五分鐘輕鬆學會實用技巧。可以自由下載列印或iPad筆記使用喔。
★Hello World,自從進入網路時代, 我們便不斷累積在網路上生活的痕跡; Goodbye World,當人生走到終點, 我們又該如何面對與處理這些遺留的資產? ●在網路時代裡,有些東西或許會「活」得比你的肉體還要久—你的臉書帳號(到了2099年,可能會有大約50億個已經過世的人仍然保存著他們
Thumbnail
這篇文章寫給想使用數位筆記軟體實作卡片盒筆記法的人。因為多數人都會在同一個軟體中使用多種筆記方法,很容易讓檔案最後攪和在一起。我會分享 ACCESS 分類法,可以讓你的筆記檔案不再混亂。
Thumbnail
雖然子彈筆記術的核心價值仍然主張「手寫」,但本人天生就是美術笨蛋,所以如果可以直接使用照片或圖片來豐富自己的筆記,那麼我還是會選擇用數位化的方式來紀錄管理我的工作和生活。