python - 如何将 pytest 与 virtualenv 一起使用?

标签 python virtualenv pytest

我将 pytest 安装到虚拟环境中(使用 virtualenv)并在该虚拟环境中运行它,但它没有使用我在该虚拟环境中安装的包环境。相反,它使用的是主系统包。 (使用 python -m unittest discover,我实际上可以使用正确的 python 和包运行我的测试,但我想使用 py.test 框架。)

是否有可能 py.test 实际上并没有在虚拟环境中运行 pytest,我必须指定要运行哪个 pytest?

如何让 py.test 仅使用我的 virtualenv 中的 python 和包?

另外,由于我的系统上有多个版本的 Python,我如何判断 Pytest 使用的是哪个 Python?它会在我的虚拟环境中自动使用 Python,还是我必须以某种方式指定?

最佳答案

要让它发挥作用,需要花点功夫:

  1. 激活你的venv:source venv/bin/activate
  2. 安装 pytest:pip install pytest
  3. 重新激活你的 venv:deactivate && source venv/bin/activate

原因是 pytest 的路径是由 sourceing activate 文件只在 pytest 之后设置的> 实际上是安装在 venv 中的。你不能在安装之前设置路径。

虚拟环境中安装的任何控制台入口点都需要重新激活

关于python - 如何将 pytest 与 virtualenv 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35045038/

相关文章:

python - 带有 Jenkins 的pylint - 无法找到xml文件的complince

python - PyQt:将缩放图像放在标签的中心

python - 如何在colab中安装coco数据集?

python - 找到用于最小化函数的输入向量

python - 如何使用虚拟环境

python - 如何从我的虚拟环境中更新/升级 pip 本身?

python - Virtualenv 没有检测到 pip3

python - 什么时候假设破折号 m 用法并避免 __init__?

python - 如何轻松区分Python中的属性和方法?

python - 尝试在 pytest 屏幕上打印异常错误