如何在 Python 虚拟环境中安装和使用 pytest?

在虚拟环境中用 pytest:python -m venv venv 创建环境 → 激活 → pip install pytest → pytest 运行测试。注意 IDE 和 CI 中的解释器选择。

最佳实践
如何在 Python 虚拟环境中安装和使用 pytest?封面

流程:python3 -m venv venv 创建虚拟环境 → source venv/bin/activate 激活 → 按项目依赖声明用 python -m pip install 安装 → pytest 运行测试。

完整步骤

# 1. 创建虚拟环境
python3 -m venv venv

# 2. 激活
source venv/bin/activate        # Linux/macOS
# venv\Scripts\activate.bat     # Windows cmd
# .\venv\Scripts\Activate.ps1    # Windows PowerShell

# 3. 安装 pytest(和项目依赖)
python -m pip install -r requirements-dev.txt  # 将 pytest 和项目依赖写入受控版本声明
# 无依赖声明的练习项目可用 python -m pip install pytest

# 4. 运行测试
pytest
pytest tests/test_api.py -v

为什么要用虚拟环境

  • 项目依赖与系统 Python 隔离,避免版本冲突;
  • 在 requirements 文件或锁文件中明确约束 pytest 及依赖版本,减少团队环境差异;
  • CI 环境复现简单。

验证用的是虚拟环境的 pytest

which pytest    # Linux/macOS,应指向 venv/bin/pytest
where.exe pytest    # Windows cmd/PowerShell
python -m pytest   # 更保险:显式用当前解释器的 pytest

推荐养成 python -m pytest 的习惯——它使用当前 python 解释器中的 pytest;仍需确认 python 本身指向目标环境,也可直接用虚拟环境解释器的绝对路径。

常见问题(FAQ)

Q:装了 pytest 但命令找不到?
A:多半是虚拟环境没激活,或激活的是另一个环境。which python 和 which pytest 应在同一环境目录下。

Q:IDE(PyCharm/VSCode)里怎么配?
A:把项目解释器设为虚拟环境的 Python,IDE 的测试运行器会自动用该环境的 pytest。

Q:pytest 应该写进 requirements.txt 吗?
A:建议拆到 requirements-dev.txt(测试/开发依赖),生产部署时只装主文件,减小镜像体积。

获取专属方案

联系我们

加入社区

微信扫码
加入官方交流群

立即体验

在线开通,按量计费,真正的云服务!

立即开始

选择观测云版本

代码托管平台