爲什麼需要虛擬環境?

想象一下,你同時開發兩個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(升級不會影響系統其他環境,可放心操作)。

創建虛擬環境

  1. 打開終端:Windows用戶用命令提示符/ PowerShell,Mac/Linux用戶用終端。
  2. 進入項目目錄:用cd命令切換到你的項目文件夾(例如項目在Documents/my_web_project):
   cd Documents/my_web_project
  1. 創建虛擬環境:執行以下命令,創建名爲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項目開發了!

小夜