Python虛擬環境:venv vs. virtualenv|Python

更新於 發佈於 閱讀時間約 2 分鐘

最近剛好在試著研究Python的虛擬環境,今天就來稍稍筆記一下。

在之前我其實也一直搞不懂這個,直到前陣子好好靜下心研究研究後有些心得。

在 Python 開發中,經常需要建立虛擬環境,來隔離不同專案所需的套件及依賴關係。這樣可以確保每個專案使用的套件版本都是一致的,避免可能的衝突和混淆。在 Python 中,有兩個主要的虛擬環境管理工具:venvvirtualenv

venv

優點:

  1. 內建工具:是 Python 3.3 版本以後內建的虛擬環境管理工具,因此不需要額外安裝,使得它在 Python 安裝中無縫集成。
  2. 輕量級:是一個較輕量的工具,因為它只包含基本功能,這使得它很容易學習和使用。
  3. 簡單易用:創建虛擬環境非常簡單,只需運行一個命令即可。例如:python -m venv myenv​
  4. Python 版本相容性venv 的虛擬環境將使用創建它的 Python 解釋器的版本,這有助於確保版本一致性。

缺點:

  1. 僅支持單一 Python 版本venv 創建的虛擬環境只能使用創建它的 Python 版本。如果需要在同一台機器上使用不同版本的 Python,就需要創建多個虛擬環境。
  2. 缺少進階功能:相較於 virtualenvvenv 提供的配置選項有限,對於需要更多自訂的場景可能不夠彈性。

virtualenv

優點:

  1. 跨版本支持:允許在虛擬環境中使用不同版本的 Python 解釋器,這對於需要跨版本的專案非常有用。
  2. 彈性配置:提供了更多配置選項,你可以自訂虛擬環境的設置,例如,可以指定要使用的 Python 版本或啟用額外的功能。
  3. 活躍的社區:是一個社區維護的項目,持續更新和改進,因此它在功能和支援方面非常穩定。
  4. 廣泛使用:由於 virtualenv 是一個第三方工具,它在 Python 社區中得到了廣泛的使用和支援。許多項目和教程也使用 virtualenv 作為虛擬環境管理工具的示例。

缺點:

  1. 需要額外安裝:與 venv 不同,virtualenv 需要額外安裝,這可能需要一些額外的步驟。
  2. 學習曲線較陡:相對於 venvvirtualenv 具有更多配置選項,這可能會對初學者造成一些困惑。

如果只是需要一個簡單的虛擬環境,使用Python 3.3或更新版本,那麼venv可能是個不錯的選擇。但如果你需要更多自定義和跨版本支援,那麼virtualenv可能更適合你的需求。不管選擇哪一個,其實只要符合自己的習慣那都OK,雖然我比較偏好於venv,因為安裝Python就有自帶,還不用再另外安裝,確實挺方便的。

avatar-img
10會員
26內容數
隨筆是我內心的聲音,隨影是我眼中的記憶。或許,在這個不斷流轉的人生中,它們是我最真實的見證和表達方式。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
隨筆,隨影 的其他內容
自然圈農場,從幾年前露營興盛起來的時候就一直有聽過這個名字,我一直聽到人們超級推薦這個地方,每個人分享的照片也都很好看,看得我心癢癢的很想親自看看,無奈實在是太難訂了,後來也忘了這回事。
毫無計畫的一天,想說找個地方待著可以順道騎車吹吹風,這時候就慶幸平常有在收集口袋名單。翻了翻名單後,我鎖定了一間咖啡廳。
一個月前的某一天,平凡的日常中,在電視上看到一個露營節目,我隨口對著身旁一起看電視的老姊說了句:「要不要去試試看露營?」「喔好啊。」她竟然意外的答應了,不過心想她應該不會當真。
嘿!這週想分享一下我第一次的獨自旅行經驗。 老實說,在出發之前,我對於面對孤獨感和未知的旅程感到有些緊張,雖然平時我常常獨自一人到處走走,心裡想著不就是獨自出遊嗎?但這次的過夜旅程對我來說還是一個全新的挑戰。我之前總是告訴自己,只是一個人的旅行嘛,應該沒什麼大不了的。
大學時期的我總喜歡拿著手機到處拍到處按下快門,捕捉我眼底下的各種美好瞬間,那些照片讓我感受到生活中的美麗與趣味。過了一段時間,漸漸開始夢想著擁有一台相機,無奈當時的經濟狀況不允許只好作罷,但這個想法已經在我心裡種下一顆種子。
自然圈農場,從幾年前露營興盛起來的時候就一直有聽過這個名字,我一直聽到人們超級推薦這個地方,每個人分享的照片也都很好看,看得我心癢癢的很想親自看看,無奈實在是太難訂了,後來也忘了這回事。
毫無計畫的一天,想說找個地方待著可以順道騎車吹吹風,這時候就慶幸平常有在收集口袋名單。翻了翻名單後,我鎖定了一間咖啡廳。
一個月前的某一天,平凡的日常中,在電視上看到一個露營節目,我隨口對著身旁一起看電視的老姊說了句:「要不要去試試看露營?」「喔好啊。」她竟然意外的答應了,不過心想她應該不會當真。
嘿!這週想分享一下我第一次的獨自旅行經驗。 老實說,在出發之前,我對於面對孤獨感和未知的旅程感到有些緊張,雖然平時我常常獨自一人到處走走,心裡想著不就是獨自出遊嗎?但這次的過夜旅程對我來說還是一個全新的挑戰。我之前總是告訴自己,只是一個人的旅行嘛,應該沒什麼大不了的。
大學時期的我總喜歡拿著手機到處拍到處按下快門,捕捉我眼底下的各種美好瞬間,那些照片讓我感受到生活中的美麗與趣味。過了一段時間,漸漸開始夢想著擁有一台相機,無奈當時的經濟狀況不允許只好作罷,但這個想法已經在我心裡種下一顆種子。
你可能也想看
Google News 追蹤
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
本文介紹如何在Python開發過程中建立虛擬環境以避免程式庫衝突,並使用Jupyter Notebook切換不同的虛擬環境。讓開發者能夠輕鬆地在不同環境中工作,提升開發效率。本文涵蓋從建立虛擬環境到管理Jupyter核心的完整步驟,適合希望優化其Python開發流程的讀者。
Thumbnail
想要使用python學習程式應該要怎麼開始呢? 首先就是要下載Python(程式語言)還有Pychar(整合開發環境,IDE)這兩個軟體。 在Google的搜尋欄位打上Python下載, 點選第一個Download Python。 第二步點選Download,選擇你的電腦系統。
Thumbnail
如果實在找不到可用的替代軟體,或者就是要用指定的軟體不可,那麼虛擬機器可以作為在使用Linux時的一個應對方案。
Thumbnail
什麼是Python python是電腦程式語言的一種,如同python官方網站上的介紹 "Python是一種程式語,可讓你更快速地工作並更有效的整合系統"。簡單地說,就是你可用python這個程式語言去告訴電腦你想要作什麼,讓電腦來幫你完成你要作的事情。
Thumbnail
Python是一種易學且功能強大的程式語言,具有直譯、動態語法等特性,並擁有豐富的標準庫。它在各領域如Web開發、數據科學和人工智慧等得到廣泛應用,並被許多大公司如Google和Facebook等使用。Python還有強大的框架、豐富的交互機能、和龐大的社區。
Thumbnail
今天來介紹python的函式 函式在python中是非常重要的一環,因為到了後期,程式會越來越複雜。 而函式可以想成是容易管理的小程式,當我們需要使用時,只需呼叫即可。
Thumbnail
古有四大名著,現今Python四大容器🤣 哪四個?list串列,tuple元組,dict字典,set集合。 那這四個怎麼分? 一起來看看吧! (以下有手寫與上機實際測試請付費觀看) 以上我精心整理主要會使用到的功能 當然python功能太多了,肯定不只。 實際操作: 大概就這樣?(
Thumbnail
先來名詞解釋jython跟JES: jython是一種實現了Python語言的Java平台版本的解釋器。它允許開發人員在Java虛擬機(JVM)上運行Python代碼,從而實現了Python語言與Java平台的無縫集成。 JES(Jython Environment for Students)是
想要開始Python語言的開發環境,有兩種常見方式,一種是下載安裝到本機端,另一種是直接在雲端執行。本文將介紹三個常見的開發工具及其安裝步驟。
Thumbnail
想要進入工程師的世界,首先要先學會架設自己的Build code環境,有了編譯環境,接下來就可以安心的撰寫你想要的C語言程式啦! 如果你不知道該從何下手,那不妨先照著本篇文章的步驟做,Violet一步一步教你並解釋每個步驟的意義,很快你就會得到一個能編譯C語言程式碼的虛擬基環境哦!
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
本文介紹如何在Python開發過程中建立虛擬環境以避免程式庫衝突,並使用Jupyter Notebook切換不同的虛擬環境。讓開發者能夠輕鬆地在不同環境中工作,提升開發效率。本文涵蓋從建立虛擬環境到管理Jupyter核心的完整步驟,適合希望優化其Python開發流程的讀者。
Thumbnail
想要使用python學習程式應該要怎麼開始呢? 首先就是要下載Python(程式語言)還有Pychar(整合開發環境,IDE)這兩個軟體。 在Google的搜尋欄位打上Python下載, 點選第一個Download Python。 第二步點選Download,選擇你的電腦系統。
Thumbnail
如果實在找不到可用的替代軟體,或者就是要用指定的軟體不可,那麼虛擬機器可以作為在使用Linux時的一個應對方案。
Thumbnail
什麼是Python python是電腦程式語言的一種,如同python官方網站上的介紹 "Python是一種程式語,可讓你更快速地工作並更有效的整合系統"。簡單地說,就是你可用python這個程式語言去告訴電腦你想要作什麼,讓電腦來幫你完成你要作的事情。
Thumbnail
Python是一種易學且功能強大的程式語言,具有直譯、動態語法等特性,並擁有豐富的標準庫。它在各領域如Web開發、數據科學和人工智慧等得到廣泛應用,並被許多大公司如Google和Facebook等使用。Python還有強大的框架、豐富的交互機能、和龐大的社區。
Thumbnail
今天來介紹python的函式 函式在python中是非常重要的一環,因為到了後期,程式會越來越複雜。 而函式可以想成是容易管理的小程式,當我們需要使用時,只需呼叫即可。
Thumbnail
古有四大名著,現今Python四大容器🤣 哪四個?list串列,tuple元組,dict字典,set集合。 那這四個怎麼分? 一起來看看吧! (以下有手寫與上機實際測試請付費觀看) 以上我精心整理主要會使用到的功能 當然python功能太多了,肯定不只。 實際操作: 大概就這樣?(
Thumbnail
先來名詞解釋jython跟JES: jython是一種實現了Python語言的Java平台版本的解釋器。它允許開發人員在Java虛擬機(JVM)上運行Python代碼,從而實現了Python語言與Java平台的無縫集成。 JES(Jython Environment for Students)是
想要開始Python語言的開發環境,有兩種常見方式,一種是下載安裝到本機端,另一種是直接在雲端執行。本文將介紹三個常見的開發工具及其安裝步驟。
Thumbnail
想要進入工程師的世界,首先要先學會架設自己的Build code環境,有了編譯環境,接下來就可以安心的撰寫你想要的C語言程式啦! 如果你不知道該從何下手,那不妨先照著本篇文章的步驟做,Violet一步一步教你並解釋每個步驟的意義,很快你就會得到一個能編譯C語言程式碼的虛擬基環境哦!