Python 虚拟环境配置
虚拟环境(venv)是 Python 提供的一种用于隔离项目依赖的机制。它可以避免全局包冲突,确保项目的依赖版本一致性,特别适合多人协作与部署场景。
✅ 虚拟环境的优点
- 每个项目使用独立依赖版本,避免冲突
- 便于部署(如部署到 Docker、虚拟机等)
- 有助于构建可复现的环境(配合
requirements.txt)
tip
建议所有 Python 项目都使用虚拟环境进行管理。
⚙️ 初始化一个虚拟环境
python3 -m venv venv
该命令将在当前目录下创建名为 venv/ 的文件夹,包含独立的 Python 解释器和 pip 工具。
🚀 启动与退出虚拟环境
- Linux/macOS
- Windows (CMD)
- Windows (PowerShell)
source venv/bin/activate # 启动虚拟环境
deactivate # 退出虚拟环境
venv\Scripts\activate.bat
deactivate
venv\Scripts\Activate.ps1
deactivate
📦 安装依赖并导出
pip install requests flask
pip freeze > requirements.txt
你可以通过 requirements.txt 快速还原依赖:
pip install -r requirements.txt
🧹 .gitignore 中忽略虚拟环境
# 忽略虚拟环境目录
venv/
caution
不要将 venv 目录上传到 Git 仓库,使用 requirements.txt 记录依赖即可。
🔁 同一服务部署多个 Python 项目(不同版本)
使用多个虚拟环境隔离多个项目
# 项目1(Python 3.8)
/app1/
├── venv38/
└── main.py
# 项目2(Python 3.11)
/app2/
├── venv311/
└── server.py
可以通过设置 alias 或脚本独立启动不同项目:
cd app1 && source venv38/bin/activate && python main.py
或者使用 systemd 配置多个服务分别加载对应虚拟环境。
🔎 快速判断是否处于虚拟环境中
import sys
print(sys.prefix)
若输出路径包含 venv,说明当前位于虚拟环境中。
✅ 总结
- 使用
python -m venv venv创建虚拟环境 - 使用
source或activate激活环境,deactivate退出 .gitignore忽略虚拟环境目录,仅保留requirements.txt- 可同时部署多个 Python 版本项目,通过
venv隔离执行