python 虚拟环境
# 本地虚拟环境
Python 虚拟环境是一个独立的 Python 解释器环境,可以为不同项目创建隔离的依赖环境,避免包版本冲突。
# 创建虚拟环境
python -m venv .venv:用于创建 Python 虚拟环境
.venv是虚拟环境的目录名,可以自定义虚拟环境可以隔离不同项目的 Python 包依赖
创建后会在当前目录下生成一个包含 Python 解释器和 pip 的独立环境
示例:
# 创建名为 .venv 的虚拟环境 python -m venv .venv # 创建指定 Python 版本的虚拟环境 python3.8 -m venv .venv # 创建自定义名称的虚拟环境 python -m venv myenv1
2
3
4
5
6
7
8
# 激活虚拟环境
source venv/bin/activate(Linux/Mac) 或.\venv\Scripts\activate(Windows)用于激活 Python 虚拟环境
激活后,命令提示符前会出现
(venv)标识激活后可以使用该虚拟环境中的 Python 解释器和包
示例:
# Linux/Mac source venv/bin/activate # Windows .\venv\Scripts\activate1
2
3
4
5
# 退出虚拟环境
deactivate: 用于退出当前激活的 Python 虚拟环境当你在使用虚拟环境时,这个命令会恢复到系统的默认 Python 环境
使用场景:
- 完成虚拟环境中的工作后,需要切换回系统环境
- 需要切换到其他虚拟环境时,先退出当前环境
示例:
# 退出虚拟环境 deactivate1
2注意:
- 只有在虚拟环境被激活的情况下,deactivate 命令才有效
- 执行后,命令提示符会恢复到激活虚拟环境之前的状态
- 不会删除虚拟环境,只是暂时退出
# 虚拟环境管理最佳实践
- 为每个项目创建独立的虚拟环境
- 将虚拟环境目录(如
.venv)添加到.gitignore文件中 - 使用
requirements.txt记录项目依赖 - 定期更新虚拟环境中的包以修复安全漏洞
- 在激活虚拟环境后安装项目所需的包
# 常用命令
# 查看和管理包
# 查看已安装的包
pip list
# 查看特定包的详细信息
pip show package_name
# 导出依赖列表
pip freeze > requirements.txt
# 从依赖列表安装包
pip install -r requirements.txt
# 升级 pip
pip install --upgrade pip
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
# 虚拟环境信息
# 查看当前 Python 解释器路径
which python # Linux/Mac
where python # Windows
# 查看 Python 版本
python --version
# 查看 pip 版本
pip --version
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
# 高级用法
# 指定 Python 版本
# 使用特定 Python 版本创建虚拟环境
python3.9 -m venv .venv
python3.10 -m venv .venv
# 检查虚拟环境中的 Python 版本
source .venv/bin/activate
python --version
1
2
3
4
5
6
7
2
3
4
5
6
7
# 虚拟环境位置
# 创建虚拟环境到指定位置
python -m venv /path/to/custom/location/.venv
# 使用 --system-site-packages 包含系统包
python -m venv .venv --system-site-packages
1
2
3
4
5
2
3
4
5
# 删除虚拟环境
# 直接删除虚拟环境目录
rm -rf .venv
# Windows
rmdir /s .venv
1
2
3
4
5
2
3
4
5
# 常见问题解决
# 权限问题
# macOS/Linux 权限错误
chmod +x .venv/bin/activate
# Windows PowerShell 执行策略
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
1
2
3
4
5
2
3
4
5
# 路径问题
# 检查虚拟环境是否正确创建
ls -la .venv/bin/python
# 重新创建虚拟环境
rm -rf .venv
python -m venv .venv
1
2
3
4
5
6
2
3
4
5
6
# 包安装问题
# 使用国内镜像源
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ package_name
# 离线安装
pip download package_name -d ./packages
pip install --no-index --find-links ./packages package_name
1
2
3
4
5
6
2
3
4
5
6
# IDE 集成
# VS Code 配置
// .vscode/settings.json
{
"python.defaultInterpreterPath": "./.venv/bin/python",
"python.terminal.activateEnvironment": true
}
1
2
3
4
5
2
3
4
5
# PyCharm 配置
- 打开 File → Settings → Project → Python Interpreter
- 选择 "Add Interpreter" → "Existing Environment"
- 选择虚拟环境中的 Python 解释器路径
# 项目示例
# 完整的项目设置流程
# 1. 创建项目目录
mkdir my_project
cd my_project
# 2. 创建虚拟环境
python -m venv .venv
# 3. 激活虚拟环境
source .venv/bin/activate # Linux/Mac
# 或
.venv\Scripts\activate # Windows
# 4. 升级 pip
pip install --upgrade pip
# 5. 安装项目依赖
pip install flask requests pytest
# 6. 导出依赖列表
pip freeze > requirements.txt
# 7. 创建 .gitignore
echo ".venv/" >> .gitignore
echo "__pycache__/" >> .gitignore
echo "*.pyc" >> .gitignore
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# 团队协作
# 新团队成员克隆项目后
git clone <repository_url>
cd my_project
# 创建虚拟环境
python -m venv .venv
# 激活虚拟环境
source .venv/bin/activate
# 安装依赖
pip install -r requirements.txt
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
# 最佳实践总结
- 命名规范:使用
.venv作为虚拟环境目录名 - 版本控制:将虚拟环境目录添加到
.gitignore - 依赖管理:使用
requirements.txt管理依赖 - 环境隔离:为每个项目创建独立的虚拟环境
- 定期更新:定期更新包以修复安全漏洞
- 文档记录:在 README 中说明如何设置虚拟环境
# 相关工具
- pip-tools:高级依赖管理工具
- poetry:现代 Python 包管理工具
- conda:Anaconda 环境管理工具
- pyenv:Python 版本管理工具
# 参考链接
上次更新: 2025/10/09, 21:06:25