如何在 Python 虚拟环境中安装和使用 pytest?
在虚拟环境中用 pytest:python -m venv venv 创建环境 → 激活 → pip install pytest → pytest 运行测试。注意 IDE 和 CI 中的解释器选择。
流程:python3 -m venv venv 创建虚拟环境 → source venv/bin/activate 激活 → pip install -U pytest 安装 → pytest 运行测试。
完整步骤
# 1. 创建虚拟环境
python3 -m venv venv
# 2. 激活
source venv/bin/activate # Linux/macOS
# venv\Scripts\activate # Windows
# 3. 安装 pytest(和项目依赖)
pip install -U pytest
pip install -r requirements.txt # 如果有
# 4. 运行测试
pytest
pytest tests/test_api.py -v
为什么要用虚拟环境
- 项目依赖与系统 Python 隔离,避免版本冲突;
- pytest 版本与项目锁定(requirements.txt),团队协作结果一致;
- CI 环境复现简单。
验证用的是虚拟环境的 pytest
which pytest # Linux/macOS,应指向 venv/bin/pytest
where pytest # Windows
python -m pytest # 更保险:显式用当前解释器的 pytest
推荐养成 python -m pytest 的习惯——它保证用的是当前激活环境里的 pytest,不受 PATH 中其他 pytest 干扰。
常见问题(FAQ)
Q:装了 pytest 但命令找不到?
A:多半是虚拟环境没激活,或激活的是另一个环境。which python 和 which pytest 应在同一环境目录下。
Q:IDE(PyCharm/VSCode)里怎么配?
A:把项目解释器设为虚拟环境的 Python,IDE 的测试运行器会自动用该环境的 pytest。
Q:pytest 应该写进 requirements.txt 吗?
A:建议拆到 requirements-dev.txt(测试/开发依赖),生产部署时只装主文件,减小镜像体积。