【发布时间】:2016-05-04 20:35:02
【问题描述】:
我将pytest 安装到虚拟环境中(使用virtualenv)并在该虚拟环境中运行它,但它没有使用我在该虚拟环境中安装的软件包。相反,它使用的是主系统包。 (使用python -m unittest discover,我实际上可以使用正确的python 和包运行我的测试,但我想使用py.test 框架。)
是否可能 py.test 实际上并没有在虚拟环境中运行 pytest,我必须指定要运行哪个 pytest?
如何让 py.test 仅使用我的 virtualenv 中的 python 和包?
另外,由于我的系统上有多个版本的 Python,我如何判断 Pytest 使用的是哪个 Python?它会在我的虚拟环境中自动使用 Python,还是我必须以某种方式指定?
【问题讨论】:
-
在安装和运行pytest之前你真的激活了你创建的virtualenv吗?即
source venv/bin/activate -
当然。我使用 virtualenvwrapper 并且当前激活的 virtualenv 在它被激活时显示在我的提示符上。另外,我可以使用 pip freeze 查看当前 virtualenv 安装的包。
-
我得到了这个工作。它只需要重新启动终端。
标签: python virtualenv pytest