Python 虚拟环境:创建与激活虚拟环境的步骤
什么是 Python 虚拟环境
开发 Python 项目时,不同项目可能依赖不同版本的第三方库。如果把所有库都安装到系统环境中,很容易出现版本冲突,导致项目无法正常运行。
虚拟环境相当于为每个项目创建一个独立的"沙盒"。在这个沙盒里,你可以自由安装、升级或卸载依赖包,不会影响其他项目,也不会影响系统的 Python 环境。
本文将介绍最常用的两种方案:venv(Python 3.3+ 内置)和 virtualenv(功能更丰富,支持 Python 2 和 3)。
准备工作
在创建虚拟环境之前,需要确认两件事。
检查 Python 是否已安装
打开终端(Windows 用户打开 PowerShell 或 CMD,macOS/Linux 用户打开 Terminal),输入以下命令检查 Python 版本:
python --version
或
python3 --version
如果看到类似 Python 3.11.0 的输出,说明 Python 已安装。如果提示"命令未找到",需要先下载并安装 Python 官方网站(https://www.python.org/downloads/)的最新版本。
检查 pip 是否可用
pip 是 Python 的包管理工具,用来安装第三方库。输入以下命令确认 pip 是否已安装:
pip --version
或
pip3 --version
如果看到版本号(如 pip 23.0 from ...),说明 pip 已就绪。如果未安装,可以运行 python get-pip.py 脚本安装,或使用 Python 安装包中的 pip 组件。
方法一:使用 venv(推荐方案)
venv 是 Python 3.3 及以上版本自带的模块,无需额外安装,使用简单、资源占用低。
步骤 1:创建虚拟环境
进入你的项目目录。假设项目位于 ~/myproject(Windows 用户路径类似 C:\myproject),执行:
cd ~/myproject
运行以下命令创建名为 venv 的虚拟环境:
python3 -m venv venv
命令解释:第一个 python3 指定使用哪个 Python 解释器;-m venv 表示调用 venv 模块;第二个 venv 是虚拟环境文件夹的名称,你可以根据项目命名(如 myenv、project_env)。
执行完成后,项目目录中会多出一个 venv 文件夹,里面包含独立的 Python 解释器和 pip 工具。
步骤 2:激活虚拟环境
不同操作系统的激活命令不同。
Windows 用户(CMD 或 PowerShell):
.\venv\Scripts\activate
macOS/Linux 用户:
source venv/bin/activate
激活成功后,终端提示符前面会显示虚拟环境名称。例如:
(venv) user@macbook:~/myproject$
```
括号中的 `venv` 表示当前处于虚拟环境中。在此环境下安装的所有包都会存放在 `venv` 文件夹里,不会影响系统环境。
### 步骤 3:验证虚拟环境是否激活
**输入**以下命令:
```bash
which python
```
或(Windows)
```bash
where python
```
如果返回的路径包含 `venv`,说明激活成功。正常输出类似:
```
/Users/你的用户名/myproject/venv/bin/python
```
也可以**输入** `python --version` 确认使用的是虚拟环境中的 Python 解释器。
### 步骤 4:在虚拟环境中安装依赖
激活虚拟环境后,**使用** pip 安装项目需要的包:
```bash
pip install requests flask
```
这样,`requests` 和 `flask` 只会安装在当前虚拟环境中。
如果需要记录项目依赖,可以**运行**:
```bash
pip freeze > requirements.txt
```
这会在项目根目录生成一个 `requirements.txt` 文件,记录所有已安装的包及其版本号。其他人在克隆项目后,只需**运行** `pip install -r requirements.txt` 即可一键安装所有依赖。
### 步骤 5:退出虚拟环境
当需要回到系统环境时,**输入**:
```bash
deactivate
```
退出后,终端提示符会恢复正常,安装的包也不再可用(除非重新激活)。
---
## 方法二:使用 virtualenv(功能更强大)
如果使用的是 Python 2,或者需要更多高级功能(如指定不同 Python 版本创建环境),可以使用 virtualenv。
### 步骤 1:安装 virtualenv
**激活**系统环境的 Python(如果当前在某个虚拟环境中,先**运行** `deactivate` 退出),**执行**:
```bash
pip install virtualenv
```
安装完成后,可以通过 `virtualenv --version` 确认安装成功。
### 步骤 2:创建虚拟环境
**进入**项目目录,**执行**:
```bash
cd ~/myproject
virtualenv venv
```
virtualenv 默认使用系统当前 Python 版本。如果需要指定其他版本(如系统中同时装有 Python 3.8 和 3.11),可以**添加** `--python` 参数:
```bash
virtualenv venv --python=python3.11
```
### 步骤 3:激活虚拟环境
激活命令与 venv 完全相同。
**Windows 用户**:
```bash
.\venv\Scripts\activate
```
**macOS/Linux 用户**:
```bash
source venv/bin/activate
```
激活成功后,同样可以看到提示符前的环境名称。
### 步骤 4:使用 virtualenvwrapper 管理(可选)
如果项目较多,管理多个虚拟环境会变得繁琐。可以**安装** `virtualenvwrapper` 来简化操作:
```bash
pip install virtualenvwrapper
```
**配置**(macOS/Linux 用户,将以下内容**添加**到 `~/.bashrc` 或 `~/.zshrc` 文件末尾):
```bash
export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh
Windows 用户可以安装 virtualenvwrapper-win,并使用 workon 命令管理环境。
配置完成后,运行 source ~/.bashrc 使配置生效。此后可以使用以下命令:
# 创建新环境
mkvirtualenv myproject
# 进入环境
workon myproject
# 列出所有环境
lsvirtualenv
# 删除环境
rmvirtualenv myproject
在常见 IDE 中使用虚拟环境
VS Code
- 打开项目文件夹。
- 按
Ctrl + Shift + P(Windows/Linux)或Cmd + Shift + P(macOS)打开命令面板。 - 输入
Python: Select Interpreter并选择。 - 找到虚拟环境中的 Python 解释器路径(通常是
./venv/bin/python或.\venv\Scripts\python.exe),点击确认。
选择后,VS Code 会自动使用该虚拟环境中的 Python 解释器和包。
PyCharm
- 打开项目。
- 点击右下角的 Python 版本区域(或进入
File→Settings→Project→Python Interpreter)。 - 点击齿轮图标,选择
Add...。 - 选择
Existing environment,点击...按钮找到虚拟环境中的 Python 解释器路径(如./venv/bin/python)。 - 点击
OK确认。
PyCharm 会自动识别并使用该环境。
常见问题与解决方案
问题 1:激活命令报错
错误信息:'source' 不是内部或外部命令...(Windows 用户)
原因:Windows 系统中没有 source 命令。
解决:Windows 用户应使用 .\venv\Scripts\activate。如果提示安全错误,可以先运行 Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser(需要管理员权限),然后重试激活。
问题 2:创建虚拟环境时提示权限不足
原因:用户对目标目录没有写入权限。
解决:进入项目目录后再创建,或检查目录权限设置。
问题 3:pip 安装包速度慢
原因:默认 pip 源在国外。
解决:切换到国内镜像源。临时使用:
pip install 包名 -i https://pypi.tuna.tsinghua.edu.cn/simple
永久配置:在用户目录下创建 pip.conf 文件(Linux/macOS 路径为 ~/.pip/pip.conf,Windows 路径为 %APPDATA%\pip\pip.ini),添加以下内容:
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
trusted-host = pypi.tuna.tsinghua.edu.cn
问题 4:删除虚拟环境后项目无法运行
原因:虚拟环境被误删,其中安装的包也随之消失。
解决:如果保留了 requirements.txt,重新创建虚拟环境,激活后运行 pip install -r requirements.txt 恢复所有依赖。
虚拟环境操作速查表
| 操作 | venv 命令 | virtualenv 命令 |
|---|---|---|
| 创建环境 | python3 -m venv 你的环境名 |
virtualenv 你的环境名 |
| 激活(Windows) | .\环境名\Scripts\activate |
.\环境名\Scripts\activate |
| 激活(macOS/Linux) | source 环境名/bin/activate |
source 环境名/bin/activate |
| 退出环境 | deactivate |
deactivate |
| 列出已安装包 | pip list |
pip list |
| 生成依赖文件 | pip freeze > requirements.txt |
pip freeze > requirements.txt |
| 安装依赖 | pip install -r requirements.txt |
pip install -r requirements.txt |
总结
虚拟环境是 Python 项目管理的最佳实践,能够有效隔离不同项目的依赖,避免版本冲突。建议每个项目都创建独立的虚拟环境,保持开发环境的整洁与可重现。
从零开始使用虚拟环境的完整流程:
- 检查 Python 和 pip 是否可用
- 进入项目目录
- 创建虚拟环境(
python3 -m venv venv) - 激活虚拟环境(Windows:
.\venv\Scripts\activate,macOS/Linux:source venv/bin/activate) - 安装项目依赖(
pip install -r requirements.txt) - 开始开发工作
- 工作完成后运行
deactivate退出
养成使用虚拟环境的习惯,能让 Python 开发更加规范、高效。

暂无评论,快来抢沙发吧!