Sorry, your browser cannot access this site
This page requires browser support (enable) JavaScript
Learn more >

1. 什么是venv?

venv是Python内置的虚拟环境管理工具,用于创建独立的Python环境,避免不同项目间的依赖冲突。

2. 安装和启用

2.1. Linux(Ubuntu)

Ubuntu系统,从Ubuntu 23.04开始,默认使用的Python版本是3.11。而Python 3.11 开始支持 PEP 668 的“外部管理环境”标记。

系统级的 Python 包管理被标记为外部管理,阻止直接使用pip install安装Python包。

1. 安装Python venv:

1
2
3
4
5
6
7
8
9
10
# 更新包列表
sudo apt update

# 安装Python3(如果已安装,则忽略此步)
sudo apt install python3
# 安装venv
sudo apt install python3-venv

# 验证安装
python3 --version

2. 创建虚拟环境:

1
2
3
4
5
# 创建名为myenv的虚拟环境(默认在当前目录)
python3 -m venv myenv

# 或者指定虚拟环境保持的路径
python3 -m venv /path/to/your/project/venv

3. 激活虚拟环境:

1
2
3
4
5
# 激活虚拟环境
source myenv/bin/activate

# 激活后提示符会显示环境名称
(myenv) user@host:~$

4. 退出虚拟环境:

1
deactivate

2.2. Windows

1. 安装Python:

Python官网下载并安装Python,安装时勾选Add Python to PATH

2. 创建虚拟环境:

1
2
3
4
5
# 创建虚拟环境
python -m venv myenv

# 或者使用py命令指定Python版本
py -3.9 -m venv myenv

3. 激活虚拟环境:

1
2
3
4
5
6
7
8
# 方法1:使用cmd
myenv\Scripts\activate.bat

# 方法2:使用PowerShell
myenv\Scripts\Activate.ps1

# 如果PowerScript执行策略限制,先运行:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

4. 退出虚拟环境:

1
deactivate

3. 虚拟环境的使用

3.1. 创建带特定选项的虚拟环境

1
2
3
4
5
6
7
8
# 不包含pip(不推荐)
python3 -m venv --without-pip myenv

# 使用系统站点的包
python3 -m venv --system-site-packages myenv

# 指定Python解释器
python3.9 -m venv myenv

3.2. 虚拟环境的使用

在虚拟环境下安装和使用包

1
2
3
4
5
6
7
8
9
10
11
# 安装包(只在当前虚拟环境中)
pip install requests pandas

# 查看已安装的包
pip list

# 生成requirements.txt
pip freeze > requirements.txt

# 从requirements.txt安装
pip install -r requirements.txt

3.3. 虚拟环境的管理

1
2
3
4
5
6
# 查看虚拟环境位置
which python
which pip

# 检查当前环境
pip -V

4. 项目中使用venv的最佳实践

4.1. 项目结构建议

1
2
3
4
5
my_project/
├── venv/ # 虚拟环境目录(添加到.gitignore)
├── src/ # 源代码
├── requirements.txt # 项目依赖
└── README.md

4.2. .gitignore配置

1
2
3
4
5
6
7
8
# 忽略虚拟环境
venv/
env/
*.env

# 忽略Python缓存
__pycache__/
*.pyc

4.3. 创建项目自动化脚本

Linux/Mac: setup.sh:

1
2
3
4
#!/bin/bash
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt

Windows: setup.bat:

1
2
3
4
@echo off
python -m venv venv
venv\Scripts\activate.bat
pip install -r requirements.txt

评论