base.md 3.8 KB

Python 虚拟环境说明

本文档介绍如何在 Python 项目中创建、激活、管理和清理虚拟环境,以确保每个项目都拥有独立、可复现的依赖环境。

目录

为什么需要虚拟环境

虚拟环境可以让每个 Python 项目拥有独立的解释器和第三方库环境,带来以下好处:

  • 避免不同项目之间的依赖冲突
  • 防止全局 Python 环境被污染
  • 便于在开发、测试和部署中保持一致
  • 方便在不同 Python 版本之间切换

创建虚拟环境

在项目根目录中执行以下命令:

Windows

python -m venv .venv

macOS / Linux

python3 -m venv .venv

如果系统中安装了多个 Python 版本,可以指定版本:

Windows

py -3.11 -m venv .venv

macOS / Linux

python3.11 -m venv .venv

执行完成后,当前目录会生成一个 .venv 目录,用于保存该虚拟环境的文件。

激活虚拟环境

Windows (Command Prompt)

.venv\Scripts\activate

Windows (PowerShell)

.\.venv\Scripts\Activate.ps1

macOS / Linux

source .venv/bin/activate

成功激活后,命令提示符通常会显示环境名称,例如:

(.venv) C:\project\>

检查环境状态

在虚拟环境中,可以验证当前 Python 和 pip 是否来自当前环境:

python --version
pip --version

也可以查看当前解释器位置:

which python

在 Windows PowerShell 中:

Get-Command python

安装依赖包

在激活虚拟环境之后,安装项目依赖:

pip install requests

如果项目中已有依赖清单:

pip install -r requirements.txt

如果需要导出当前环境中的依赖:

pip freeze > requirements.txt

退出虚拟环境

开发完成后,可以退出虚拟环境:

deactivate

删除虚拟环境

如果不再需要该环境,可以直接删除虚拟环境目录:

Windows

rmdir /s /q .venv

macOS / Linux

rm -rf .venv

常见问题

1. python 命令找不到

通常是因为没有将 Python 添加到系统 PATH。可以检查安装后的 Python 路径,或使用 py(Windows)或 python3(macOS / Linux)。

2. PowerShell 无法激活脚本

如果遇到脚本执行策略限制,可以在 PowerShell 中执行:

Set-ExecutionPolicy -Scope CurrentUser RemoteSigned

然后再次尝试激活虚拟环境。

3. 依赖包安装失败

可以先升级 pip:

python -m pip install --upgrade pip

然后重新安装依赖。

最佳实践

  • 每个项目使用独立的虚拟环境
  • 将依赖写入 requirements.txt,便于复现和部署
  • 不要将 .venv 目录提交到版本控制系统中
  • 在团队协作中,建议通过 requirements.txtpyproject.toml 统一环境配置

命令速查

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

# Windows 激活
.venv\Scripts\activate

# PowerShell 激活
.\.venv\Scripts\Activate.ps1

# macOS / Linux 激活
source .venv/bin/activate

# 安装依赖
pip install -r requirements.txt

# 退出虚拟环境
deactivate

结论

Python 虚拟环境是 Python 项目开发中的基础实践之一。通过合理使用虚拟环境,可以更稳定地管理依赖、减少环境冲突,并提升项目的可维护性和可复现性。