为了账号安全,请及时绑定邮箱和手机立即绑定

如何针对多个 Python conda 环境运行 Python 测试?

如何针对多个 Python conda 环境运行 Python 测试?

繁星淼淼 2021-07-09 14:07:05
我有一些conda使用 Anaconda 创建的精心配置的环境。我编写了一个 Python 包,它使用了安装在这些环境中的一些包和库。现在,我想使用针对每个环境执行的每个测试文件来运行测试,以确保该包可以处理不同的 Python 版本和不同的 3rd 方包集。使用 atox对我不起作用,因为它试图在本地重新创建这些环境以运行测试。这是我的tox.ini文件的外观:[tox]envlist = py36, py27skipsdist = True[testenv]basepython =     py36: C:\Users\user\AppData\Local\Continuum\Anaconda2\envs\Env1\python.exe    py27: C:\Users\user\AppData\Local\Continuum\Anaconda2\envs\Env2\python.execommands =     {envpython} -m unittest discover但是,不可能只对每次运行时创建pip install的环境做简单的处理,tox主要是因为涉及一些编译的库和变通方法(在conda环境中解决了- 所以我必须按原样使用它们)。我目前有一个.bat包含以下内容的虚拟文件:"C:\Users\user\AppData\Local\Continuum\Anaconda2\envs\Env1\python.exe" -m unittest discover"C:\Users\user\AppData\Local\Continuum\Anaconda2\envs\Env2\python.exe" -m unittest discover我在 Windows 中执行cmd以查看结果。它确实有效,但我想知道是否还有更多 Pythonic 方式来运行这些测试,例如使用py.test或tox. 我不想重新创建conda我已经拥有的环境;我只想使用在不同位置访问的不同 Python 解释器来运行我的测试。
查看完整描述

1 回答

?
潇潇雨雨

TA贡献1833条经验 获得超4个赞

您可以查看 pytest-xdist插件。它允许您在不同的 Python 环境中运行测试。

用法:

pytest --dist=each --tx popen//python=python3.5 --tx popen//python=python2.7


查看完整回答
反对 回复 2021-07-13
  • 1 回答
  • 0 关注
  • 185 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信