【问题标题】:Determine required Python versions from tox.ini and install if required从 tox.ini 确定所需的 Python 版本并在需要时安装
【发布时间】:2019-02-20 14:57:48
【问题描述】:

tox documentation 建议您要测试的 Python 版本必须已经安装在环境中,否则您会遇到错误。考虑到这一点,是否存在一种普遍接受的做法,即在tox.ini 中检查envlist,然后使用它来安装所需的版本。例如。为:

envlist = py27, py36

检查这些是否已安装,如果没有,请安装它们。

【问题讨论】:

    标签: python testing automated-tests tox


    【解决方案1】:

    您可以制作自定义脚本,以便使用 pyenv 安装所需版本的 python,然后将它们与 tox 一起使用。

    关于如何使用 pyenv 安装 python 版本的一些有用链接可以在这里找到:

    https://anil.io/blog/python/pyenv/using-pyenv-to-install-multiple-python-versions-tox/

    https://github.com/lablup/backend.ai/wiki/Install-Python-via-pyenv

    对于将 tox 与 pyenv 一起使用,您也可以查看以下链接:

    http://ishcray.com/supporting-multiple-python-versions-with-tox

    http://blog.pinaxproject.com/2015/12/08/how-test-against-multiple-python-versions-parallel/

    【讨论】:

    • 感谢@Moldovan Daniel。都非常有用。我的问题是我的测试可能会在多台服务器中的任何一台上运行,而这些服务器可能有也可能没有我想要测试的所有 Python 版本。出于这个原因,当tox 命令运行时,我希望我的自定义脚本检查envlist 中的版本。任何不存在的都应该安装,一旦完成,应该运行执行我的测试的命令。在尝试此操作时我应该注意哪些陷阱?
    • 只要您使用 pyenv 安装 python 版本,除了需要在 tox.ini 中以与 pyenv 不同的格式(py27、py36 vs 2.7.0、3.6.8)。这可以通过脚本中的映射/适配逻辑来解决,或者您可以只为 tox 和 pyenv 保留重复的 python 版本列表。
    猜你喜欢
    • 2020-02-06
    • 1970-01-01
    • 1970-01-01
    • 2022-08-14
    • 2023-03-15
    • 2013-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多