爲什麼需要虛擬環境?¶
在開發Python項目時,我們經常會遇到不同項目需要不同版本依賴庫的情況。比如,項目A需要Flask 2.0,而項目B需要Flask 1.0,如果直接安裝到系統全局Python環境中,升級或降級Flask可能會破壞其他項目。虛擬環境就是用來隔離不同項目的Python運行環境,讓每個項目都能擁有獨立的“小倉庫”,互不干擾。
一、選擇虛擬環境工具:venv(Python內置)¶
Python 3.3+版本自帶了虛擬環境工具venv,無需額外安裝,適合新手入門。
二、搭建虛擬環境(以venv爲例)¶
步驟1:創建項目目錄¶
先在你想存放項目的地方,新建一個文件夾,比如flask_demo。
- Windows:打開命令提示符(CMD)或PowerShell,輸入:
mkdir flask_demo
cd flask_demo
- Mac/Linux:打開終端,輸入:
mkdir flask_demo
cd flask_demo
步驟2:創建虛擬環境¶
在項目目錄中,執行以下命令創建虛擬環境(虛擬環境名稱設爲venv,可自定義):
python -m venv venv
- 如果系統同時存在Python 2和Python 3,確保用
python3 -m venv venv(Python 3專用)。 - 執行後,項目目錄下會生成一個
venv文件夾,裏面就是隔離的Python環境。
三、激活虛擬環境¶
虛擬環境創建後,需要先激活才能使用。不同系統激活方式不同:
Windows(CMD/PowerShell):¶
- CMD:
venv\Scripts\activate.bat
- PowerShell:
venv\Scripts\Activate.ps1
激活後,命令行開頭會顯示(venv),表示虛擬環境已生效。
Mac/Linux:¶
source venv/bin/activate
同樣,命令行開頭會顯示(venv)。
四、安裝依賴:Flask¶
在虛擬環境激活狀態下,安裝Flask(僅安裝到當前虛擬環境):
pip install flask
- 如果提示
pip或pip3版本過低,可先升級:pip install --upgrade pip。
五、驗證Flask安裝¶
安裝完成後,驗證是否成功:
flask --version
如果輸出類似Flask 2.3.3, Python 3.9.7,則安裝成功。
六、依賴管理:導出與恢復¶
導出依賴(生成requirements.txt)¶
項目開發完成後,需要將所有依賴導出到requirements.txt,方便後續部署或分享:
pip freeze > requirements.txt
此時,項目目錄下會生成requirements.txt文件,內容類似:
Flask==2.3.3
Werkzeug==2.3.7
Jinja2==3.1.2
...
恢復依賴(從requirements.txt安裝)¶
別人拿到項目後,只需在虛擬環境中執行:
pip install -r requirements.txt
即可一鍵安裝所有依賴,無需手動逐個安裝。
七、退出虛擬環境¶
如果需要退出虛擬環境,執行:
deactivate
命令行的(venv)標識會消失,回到系統全局Python環境。
八、常見問題與解決¶
-
不同系統激活命令不同:
- Windows CMD用venv\Scripts\activate.bat,PowerShell用venv\Scripts\Activate.ps1(需允許執行腳本:Set-ExecutionPolicy RemoteSigned -Scope CurrentUser)。
- Mac/Linux用source venv/bin/activate。 -
虛擬環境損壞怎麼辦?
直接刪除項目目錄下的venv文件夾,重新執行python -m venv venv即可重建。 -
爲什麼要區分
pip和pip3?
-pip通常對應Python 2,pip3對應Python 3。建議用python -m pip統一調用當前Python版本的pip(如python -m pip install flask)。
通過以上步驟,你已經掌握了Flask開發環境的核心技能:隔離環境、安裝依賴、管理版本。後續開發中,只需在激活虛擬環境後執行pip install,即可避免依賴衝突,讓項目更穩定、可復現。