文章目录
- 一、问题导入
- 二、虚拟环境
-
- [2.1 工作原理](#2.1 工作原理)
- [2.2 常用工具](#2.2 常用工具)
- [2.3 创建虚拟环境](#2.3 创建虚拟环境)
- [2.4 其他常用命令](#2.4 其他常用命令)
- 三、最佳实践
一、问题导入
参考文档:https://docs.python.org/zh-cn/3/library/venv.html
|---------------------------------------------------------------|
| 在安装playwright和pyppetee模块时,出现pyee版本不匹配问题,如果要同时使用两者,最好使用虚拟环境隔离。 |
解决办法如下:
shell
# 创建并激活虚拟环境
python -m venv playwright_env
source playwright_env/bin/activate # Linux/macOS
playwright_env\Scripts\activate # Windows
# 安装 playwright(依赖会自动匹配)
pip install playwright
二、虚拟环境
2.1 工作原理
虚拟环境主要基于路径隔离和环境变量配置。在创建虚拟环境时,会生成独立的目录结构;激活脚本会修改PATH
,将虚拟环境的bin
或Scripts
目录置于最前。
python解释器启动时会通过sys.prefix
(虚拟环境目录)和sys.base_prefix
区分环境(全局python)。
路径隔离 | bin 目录存放Python 解释器副本(或软链接) |
---|---|
site-packages/ 存放项目所需的第三方库 |
|
环境激活脚本(如 activate ) |
|
路径优先级 | 激活虚拟环境后,系统会优先使用虚拟环境中的 Python 和库,而非全局环境。 |
2.2 常用工具
工具 | 特点 |
---|---|
venv |
Python 3.3+ 内置工具,轻量级,适合大多数场景 |
virtualenv |
更强大的第三方工具,支持 Python 2/3,功能比 venv 多(如更灵活的路径配置) |
conda |
跨平台,适合科学计算和复杂依赖管理(需安装 Anaconda/Miniconda) |
pipenv |
结合 pip 和虚拟环境管理,自动生成 Pipfile 依赖描述文件 |
2.3 创建虚拟环境
▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰venv
(Python 内置)▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰
步骤 1:创建虚拟环境
bash
# 格式:python -m venv <虚拟环境路径>
python -m venv my_project_env # 创建一个名为 my_project_env 的虚拟环境
步骤 2:激活虚拟环境

激活后,命令行提示符会显示环境名称(如 (my_project_env)
),表明已进入虚拟环境。
步骤 3:在虚拟环境中安装依赖
bash
# 安装指定包(仅影响当前虚拟环境)
pip install playwright pyee==12.1.1
# 或根据 requirements.txt 安装
pip install -r requirements.txt
步骤 4:退出虚拟环境
bash
deactivate
▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰virtualenv
(第三方工具)▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰
步骤 1:安装 virtualenv
bash
pip install virtualenv
步骤 2:创建并激活环境
bash
virtualenv my_project_env # 创建
source my_project_env/bin/activate # 激活(Linux/macOS)
my_project_env\Scripts\activate # 激活(Windows)
后续操作与 venv
一致。
2.4 其他常用命令
📖 删除环境:直接删除虚拟环境目录
bash
rm -rf my_project_env # Linux/macOS
rmdir /s my_project_env # Windows
📖 查看环境
python
# Linux/macOS
ls ~/.virtualenvs # 常见路径
ls */venv # 项目内的环境
# Windows
dir C:\Users\ABC\venv
📖 查看虚拟环境路径
python
echo $VIRTUAL_ENV # Linux/macOS
echo %VIRTUAL_ENV% # Windows
三、最佳实践
(1) 每个项目独立环境:避免跨项目依赖冲突。
(2) 依赖版本固化:生成 requirements.txt
,记录当前环境的依赖版本
bash
pip freeze > requirements.txt
然后在新环境中恢复依赖:
bash
pip install -r requirements.txt
(3) 不要提交虚拟环境到版本控制:在 .gitignore
中添加虚拟环境目录(如 my_project_env/
)。
(4) 环境命名清晰:使用如 venv
、.venv
、project_name_env
等名称,便于识别。