第2章:环境搭建与配置
说实话,很多初学者在框架学习上栽跟头,不是代码写不好,而是环境没配好。我见过太多人花半小时写代码,花一整天折腾环境。所以这一章,咱们把环境彻底搞定。
2.1 Python环境安装
Python版本怎么选?我个人习惯用Python 3.8+。为什么?因为pytest对3.8以上的支持最稳定。我在项目中遇到过用Python 3.6跑pytest 7.x,结果一堆兼容性报错,后来统一升到3.9就没事了。
安装步骤其实很简单:
- 去官网下载对应系统的安装包
- 安装时记得勾选「Add Python to PATH」
- 打开终端验证:
python --version
py -3.9指定版本运行,避免冲突。
2.2 虚拟环境配置
为什么要用虚拟环境?说白了,就是隔离依赖。你想想看,项目A用pytest 6.0,项目B用pytest 7.0,如果不隔离,两个项目互相打架,你受得了吗?
我常用的虚拟环境工具有两个:
| 工具 | 命令 | 适用场景 |
|---|---|---|
| venv(内置) | python -m venv venv |
标准项目,无需额外安装 |
| virtualenv | virtualenv venv |
需要更多定制选项时 |
我个人偏爱venv,因为它是Python自带的,不用装额外包。创建虚拟环境就一行:
# 创建虚拟环境
python -m venv venv
# 激活(Windows)
venv\Scripts\activate
# 激活(Mac/Linux)
source venv/bin/activate
(venv)字样,看到它就说明环境隔离成功了。
2.3 pytest安装
环境激活后,安装pytest就很简单了:
pip install pytest
嗯,这里要注意,别直接在全局环境装。我曾经有一次忘了激活虚拟环境,直接全局装了pytest,结果项目依赖全乱了,排查了半天才发现问题。
验证安装是否成功:
pytest --version
# 输出示例:pytest 7.4.0
如果看到版本号,恭喜你,环境搭好了。
2.4 依赖管理(requirements.txt)
依赖管理是团队协作的命脉。你想想看,你本地跑得好好的,同事一拉代码跑不起来,十有八九是依赖版本不一致。
标准做法是用requirements.txt:
# 生成当前环境的依赖列表
pip freeze > requirements.txt
生成的requirements.txt内容大概长这样:
pytest==7.4.0
pytest-html==3.2.0
pytest-xdist==3.3.1
requests==2.31.0
别人拿到项目后,直接运行:
pip install -r requirements.txt
所有依赖就一键装好了。我在项目中遇到过最坑的事,就是有人手动装依赖,漏了一个包,结果CI/CD流水线全挂。从那以后,我强制团队必须用requirements.txt管理依赖。
requirements.txt并提交到Git。
2.5 IDE配置
IDE选哪个?我个人推荐VS Code或PyCharm。两个我都用过,各有千秋:
| 特性 | VS Code | PyCharm |
|---|---|---|
| 启动速度 | 快 | 慢 |
| 插件生态 | 丰富 | 内置功能多 |
| 调试体验 | 良好 | 优秀 |
| 内存占用 | 低 | 高 |
我平时用VS Code多一些,轻量、灵活。但做大型项目时,PyCharm的智能提示确实更香。
VS Code必装插件:
- Python(微软官方,提供语法高亮、智能提示)
- Pylance(类型检查,写pytest时特别有用)
- Python Test Explorer(可视化运行测试用例)
配置虚拟环境路径:
- 按
Ctrl+Shift+P打开命令面板 - 输入
Python: Select Interpreter - 选择你创建的虚拟环境(路径通常是
./venv/Scripts/python.exe)
2.6 环境验证
最后,咱们写个简单的测试,验证整个环境是否跑通:
# test_demo.py
def test_hello():
assert 1 + 1 == 2
def test_world():
assert "pytest" in "hello pytest"
在终端运行:
pytest test_demo.py -v
如果看到两个测试都通过(绿色PASSED),说明环境搭建完美收官。
嗯,环境搭建这块确实有点琐碎,但磨刀不误砍柴工。下一章咱们就开始写真正的测试用例了,到时候你会发现,前面这些配置工作,值!