【前言】
許多的 Python 套件或許停滯在特定版本,但由於套件衝突與其他程式,在不同版本間開發一直是場噩夢。雖然能夠依賴容器化解決,但不如 venv 好操作與變化。那麼,就讓我一探究竟吧。
【重點整理】
- Python 的 venv 可使用於 Windows 與 Linux 系統上
- 為 CLI 體系,適合編寫成批次檔(bash / batch)
- 所下載的封包在指定資料夾內,方便清除與單專案管理
- 相比容器化服務更適合高變動性的開發工作
【預計內容】
- venv 介紹
- Windows 安裝與操作
- Linux (MacOS) 安裝與操作
【主要內容】
1. venv 介紹
venv (virtualvenv) 本質上為 Python 的套件,旨在建立虛擬環境(Virtual Environment),安裝後以 python 為 CLI 主軸,自帶 pip / pip{version} / pip3 等執行檔,不用擔心每次都找不到作業系統對應的指令。而之中,利用 CLI 編寫批次檔也是最常見的應用之一,能快速的讓其他使用者將專案初始化。
2. Windows 安裝與操作
Step. 1 — 建立 venv
選擇好專案位置後,確認電腦安裝該 Python 版本後,便能透過以下指令建立指定版本的虛擬環境。完成後應該會多出個 .venv 資料夾。
# 建立 Python v3.10.11 的 venv
py -3.10 -m venv .venv
Step. 2 — 進入環境
要使用該環境,我們自然要先在 Terminal 啟用,不然還是會用系統環境進行操作。
# Windows 進入 venv
./.venv/Script/activate
完成之後應該會發現 Terminal 多出 (.venv) 字樣,就代表你成功進入環境並可以自由使用囉。那上述的方法也適用於 Windows Powershell 之中,十分方便。
3. Linux 與 MacOS 安裝與操作
Step. 1 — 安裝必要套件
相對 Windows 不同的是,Linux 系統本身由套件組合而成,那假設各位已安裝好 Python 版本 [1],就能進行以下步驟先安裝必要的套件了。
# 安裝必要套件
sudo apt-get install python3-pip python3-venv
Step. 2 — 建立 venv
安裝上述套件後,我們才能夠正常的建立 venv。
# 建立 Python v3.10.11 的 venv
python3 -3.10 -m venv .venv
Step. 3 — 進入環境
一樣,要使用該環境,我們自然要先在 Terminal 啟用,不然還是會用系統環境進行操作。
# Linux 進入 venv
source ./.venv/bin/activate
完成之後應該會發現 Terminal 多出 (.venv) 字樣,就代表你成功進入環境並可以自由使用囉。
Step. 4 — 退出環境
退出環境也相當簡單,只有輸入 activate 的反義詞就可以囉
deactivate
【後話】
venv 是針對單個專案實用的小工具,也不用擔心未來套件大亂不知怎麼清空間。相對適合部屬的容器,更適合高變化性的開發工作,進行各式的調整。希望這篇能幫助到各位讀者。
【參考資料】
[1] Download Specific Python Venison in Linux
https://opensource.com/article/20/4/install-python-linux
【延伸閱讀】
[1] venv and WSGI
https://modwsgi.readthedocs.io/en/develop/user-guides/virtual-environments.html