从 github 运行 tox 时出现“ERROR: py37: InterpreterNotFound: python3.7”

Ere*_*evi 11 github tox python-3.7 github-actions

我在 GitHub 上有一个带有 tox.ini 文件的项目:

[tox]
envlist = py3

[testenv]
deps = -rrequirements.txt
commands =
    pytest --doctest-modules
Run Code Online (Sandbox Code Playgroud)

效果很好。但是当我用“py37”替换“py3”时,它失败并出现错误:

ERROR:  py37: InterpreterNotFound: python3.7
Run Code Online (Sandbox Code Playgroud)

据我所知,tox应该支持Python 3.7。这是 github 上的 tox 特有的问题吗?

Dee*_*ire 17

在 tox.ini 文件中,写入python3.7而不是py37,您将看到它有效。

所有功劳均归功于 Github 用户glinskyc的有关Github 问题的帖子

还要确保您使用的是最新版本的tox,即3.23.1

  • 我自己刚刚尝试过这个。它*似乎*可以工作,但后来我注意到它使用默认的Python(在我的例子中是3.9)运行所有内容!我收到的消息中包含诸如“/[pathredacted]/.tox/python3.7/lib/python3.9/site-packages/”之类的路径(“python3.7”是tox环境,“python3.9”是Python 安装到其中)。我不会说它“永远”不起作用,但它显然在带有 tox 3.24.3 的 Linux 上不起作用。 (11认同)
  • @TimPederick 是对的,这只是使用最新的可用 python,而不是指定的 python。你可以将其更改为像“python9000”这样疯狂的东西,它仍然会“工作”,因为它不是像“py37”那样的预定义标签。 (3认同)