我如何帮助 tox 在 windows 上找到 python 的正确版本?

How can I help tox find the correct version of python on windows?

我正在努力让 tox 运行 上 Windows 用于我正在闲逛的开源项目。

tox.ini 中有几个部分指定 basepython

[testenv:pylint]
basepython = python3
ignore_errors = True
deps =
  ...

不幸的是,python 的默认安装仅在路径中提供 python.exe,因此未找到 python3 导致失败。

在 tox 中是否有 "proper way" 来处理这个问题?无论如何,当找不到时,我是否可以提供一个 basepython 回退。我可以手动将 python.exe 复制到 python3.exe,但这可能会导致 tox 创建虚拟环境的方式出现问题。

我会先检查它是否在该项目的文档中的某个地方解释了它应该如何在 Windows 上工作。如果没有记录,我会询问项目的维护者这是否以及如何与 Windows.

的默认安装一起工作

如果这是那个项目中还没有想到的事情(可能是因为它们都是在 Mac 和 Linux 上开发的),您可以一起找出一个适用于所有开发人员的解决方案.

例如:tox.ini可以这样修改:

[testenv:pylint]
basepython = {env:PYTHON3_PATH:python3}
ignore_errors = True
deps =
...

如果您的系统需要,您可以通过这种方式覆盖 basepython

另见 tox docs about environment variable substitution