You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置tox使其识别并使用pyenv安装的Python 3.7?

解决tox无法找到Python 3.7解释器的问题

1. 先确认pyenv的环境配置没问题

检查你的shell配置文件(比如~/.bashrc或~/.zshrc),确保已经正确配置pyenv的路径:

export PATH="$HOME/.pyenv/shims:$PATH"
eval "$(pyenv init -)"

保存后执行source ~/.bashrc(对应你使用的shell配置文件)刷新环境,然后运行which python3.7,输出需要指向~/.pyenv/shims/python3.7,如果指向系统路径说明pyenv未正确生效。

2. 在tox.ini里明确指定basepython

修改你的tox.ini,给[testenv]段添加各Python版本对应的解释器配置:

[tox]
min_version = 4.0
env_list =
    py{37,38,39,310}-drf{314}

[testenv]
envdir = {toxworkdir}/venvs/{envname}
# 为每个Python版本指定对应解释器
basepython =
    py37: python3.7
    py38: python3.8
    py39: python3.9
    py310: python3.10

[testenv:py{37,38,39,310}-drf{314}]
commands = python -m pytest tests/test_rest_framework
deps =
    pytest
    -e .[dev]
    drf314: djangorestframework>=3.14,<3.15

这样tox会根据环境名称匹配对应的Python解释器,只要pyenv的shims目录在PATH中,就能找到3.7版本。

3. (可选)安装tox-pyenv插件强化集成

如果上述方法无效,可以安装tox-pyenv插件,让tox直接读取pyenv管理的Python版本:

pip install tox-pyenv

安装完成后无需额外配置,tox会自动识别pyenv中已安装的所有Python版本。

4. 测试配置是否生效

运行以下命令验证能否正常创建py37环境:

tox -e py37-drf314 --notest

如果没有报错,说明环境可以正常创建,之后即可运行测试命令。

内容的提问来源于stack exchange,提问作者JPG

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 17:40:20