爲什麼需要虛擬環境?
想象一下,你同時開發兩個Python項目:一個需要Django 2.2,另一個需要Django 4.0。如果把它們安裝在同一個Python環境裏,Django 4.0會覆蓋掉Django 2.2,導致舊項目無法運行。這時候,虛擬環境就能幫你爲每個項目創建獨立的Python環境,避免依賴衝突。
此外,虛擬環境還能防止系統自帶的Python環境被污染,讓項目更乾淨,也方便團隊協作(只需共享依賴文件,就能快速復現開發環境)。
什麼是venv?
Python 3.3版本開始,Python內置了一個名爲venv的模塊,專門用於創建虛擬環境。它不需要額外安裝,直接通過Python自帶的工具就能完成,對初學者非常友好。
安裝venv?
如果你的Python版本是3.3或更高(主流Python 3.9+基本都滿足),venv已經預裝了,無需額外下載。可以通過以下命令檢查Python版本:
python --version # 或 python3 --version(Mac/Linux)
如果版本過低,建議升級Python(升級不會影響系統其他環境,可放心操作)。
創建虛擬環境
- 打開終端:Windows用戶用命令提示符/ PowerShell,Mac/Linux用戶用終端。
- 進入項目目錄:用
cd命令切換到你的項目文件夾(例如項目在Documents/my_web_project):
cd Documents/my_web_project
- 創建虛擬環境:執行以下命令,創建名爲
venv的虛擬環境(名稱可自定義,推薦用venv):
python -m venv venv
執行後,項目目錄會生成一個venv文件夾,裏面包含獨立的Python解釋器和依賴管理工具。
激活虛擬環境
創建後需要激活環境才能使用其中的Python和依賴。不同系統激活命令不同:
- Windows(命令提示符):
venv\Scripts\activate.bat
- Windows(PowerShell):
.\venv\Scripts\Activate.ps1
注意:若提示“無法加載文件”,需先執行:
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
輸入Y確認後再重新激活。
- Mac/Linux:
source venv/bin/activate # 或簡化爲 . venv/bin/activate
激活成功後,終端提示符會顯示(venv),表示環境已生效。
驗證虛擬環境
激活後,檢查Python和pip是否屬於虛擬環境:
python --version # 顯示虛擬環境的Python版本(如3.9.7)
pip --version # 顯示pip路徑爲venv下的(如venv/bin/pip)
安裝依賴包
在激活的環境中,用pip安裝需要的包(以安裝Flask爲例):
pip install flask
此時安裝的包僅存在於虛擬環境中,不會影響系統全局環境。
導出依賴到文件
項目完成後,可將依賴導出爲requirements.txt文件(方便分享或部署):
pip freeze > requirements.txt
該文件會記錄所有安裝的包及其版本(如flask==2.3.3)。
安裝依賴(新環境/他人項目)
若拿到已有項目,在激活環境後,直接安裝依賴文件中的包:
pip install -r requirements.txt
退出虛擬環境
工作完成後,用deactivate退出虛擬環境:
deactivate
終端提示符的(venv)會消失,回到系統全局環境。
刪除虛擬環境
若不需要虛擬環境,直接刪除venv文件夾即可(Mac/Linux用rm -rf venv,Windows可手動刪除)。
總結
虛擬環境venv是Python Web開發的必備工具,通過簡單的命令就能隔離項目依賴、避免版本衝突。掌握venv的創建、激活、依賴管理,能讓你的開發流程更安全、高效。現在,你可以在虛擬環境中安裝Django、Flask等框架,開始你的Web項目開發了!