Python 的虚拟环境用于隔离不同项目的依赖,避免包版本冲突。

venv(标准库,推荐)

Python 3.3+ 内置了 venv 模块,无需额外安装:

# 创建虚拟环境
python3 -m venv .venv

# 激活虚拟环境
source .venv/bin/activate      # macOS / Linux
# .venv\Scripts\activate       # Windows

# 退出虚拟环境
deactivate

激活后,终端提示符前面会显示 (.venv),表示已进入虚拟环境。

pip 常用操作

# 安装包
pip install requests
pip install 'flask>=2.0'
pip install -r requirements.txt

# 查看已安装的包
pip list

# 导出依赖
pip freeze > requirements.txt

# 卸载包
pip uninstall requests

requirements.txt 最佳实践

建议将依赖分为生产和开发:

requirements.txt(生产依赖):

flask==3.1.0
gunicorn==23.0.0
requests==2.32.0

requirements-dev.txt(开发依赖):

-r requirements.txt
pytest==8.3.0
black==24.4.0
ruff==0.5.0

完整的项目初始化流程

# 1. 创建项目目录
mkdir myproject && cd myproject

# 2. 创建虚拟环境
python3 -m venv .venv

# 3. 激活
source .venv/bin/activate

# 4. 安装依赖
pip install flask pytest

# 5. 导出依赖
pip freeze > requirements.txt

# 6. 将 .venv 加入 .gitignore
echo ".venv/" >> .gitignore

其他虚拟环境工具

工具 特点
venv 标准库,零依赖,够用
virtualenv 兼容 Python 2,功能稍多
conda 数据科学常用,管理 Python 版本
poetry 依赖管理和打包一体化
pipenv Pipfile 管理,自动激活

对于日常开发,venv + pip + requirements.txt 的组合已经足够简洁高效。