01 背景与重要性
为什么使用虚拟环境?
在 Ubuntu/Debian 等 Linux 发行版中,通常建议不要使用 pip 或 pip3 直接在系统全局环境中安装 Python 包。
这是因为:
- 系统稳定: 操作系统本身依赖于特定的 Python 包版本。全局安装或升级包可能会破坏系统环境,影响
apt、dnf等包管理器以及其他系统工具的正常运行。 - 项目隔离: 不同的 Python 项目可能依赖于同一个库的不同版本。虚拟环境 (Virtual Environment) 能够为每个项目创建一个独立的、隔离的运行环境,确保项目依赖的纯净性,互不干扰。
因此,使用虚拟环境是 Python 开发中的最佳实践。
02 基础命令
Python 3 自带的 venv 模块是创建虚拟环境的首选工具。
| 步骤 | 功能描述 | 命令示例 |
|---|---|---|
| 创建 | 在当前目录下创建一个名为 myenv 的独立虚拟环境目录。 |
python3 -m venv myenv |
| 激活 | 启动虚拟环境。命令行提示符会显示环境名称 ((myenv))。 |
source myenv/bin/activate |
| 操作 | 在激活的环境中,可以安装、管理和使用所需的 Python 包。 | pip install requests |
| 退出 | 退出当前的虚拟环境,返回到系统全局环境。 | deactivate |
03 典型工作流程
# 1. 确认已安装 python3-venv (Ubuntu/Debian 可能需要先安装此包)
# sudo apt install python3-venv
# 2. 创建虚拟环境 (建议命名为 .venv 或 env)
python3 -m venv myproject_venv
# 3. 激活虚拟环境
source myproject_venv/bin/activate
# 4. 在隔离环境中安装所需的包
(myproject_venv) pip install -r requirements.txt
(myproject_venv) pip install numpy pandas
# 5. 执行你的项目脚本
(myproject_venv) python my_script.py
# 6. 完成工作后,退出环境
(myproject_venv) deactivate
提示:
- 命名约定: 推荐将虚拟环境命名为
.venv或env,这样它们通常会被.gitignore等文件默认忽略,不会被提交到版本控制中。 - Linux/macOS vs. Windows: 上述
source myenv/bin/activate适用于 Linux 和 macOS。在 Windows 上,命令通常是myenv\Scripts\activate。 - 包安装位置: 在虚拟环境中安装的包都位于该环境目录内(例如
myenv/lib/python3.x/site-packages),不会污染系统环境。
浙公网安备 33010602011771号