如何在不创建虚拟环境的情况下运行tox?
解决方案
是可以在不创建虚拟环境的前提下运行tox的,操作方法如下:
方法1:修改tox配置文件(持久生效)
在项目根目录的tox.ini中,对应py37测试环境的配置段添加以下参数:
[testenv:py37] # 禁用虚拟环境创建 venv_backend = none # 指定你要使用的py37解释器路径,确保和你提前装完依赖的环境一致 basepython = python3.7 # 跳过项目打包步骤,避免额外依赖需求 skipsdist = true # 原有测试命令等配置保持不变即可
配置完成后直接执行原命令即可正常运行:/etc/bin/tox -e py37 -v
方法2:命令行临时传参(无需修改配置文件)
执行命令时直接添加禁用虚拟环境的参数,单次运行生效:/etc/bin/tox -e py37 -v --venv-backend none
注意事项
- 上述参数仅支持tox 3.8及以上版本,若你使用的tox版本过低,可将配置参数替换为
venv_create = false实现同样效果 - 禁用虚拟环境后tox不会自动安装依赖,需确保你指定的py37环境中已提前安装所有项目运行、测试所需的依赖包
- 原报错触发原因是tox默认会调用virtualenv创建隔离测试环境,跳过虚拟环境创建步骤后就不会触发该模块缺失的报错
内容的提问来源于stack exchange,提问作者tempuser
相关产品推荐
相关产品推荐

