Tox无法识别pyenv多版本Python解释器问题求助
解决Tox无法识别pyenv安装的非全局Python版本问题
优先确保pyenv的shims路径在系统PATH最前端
运行echo $PATH检查输出,确认~/.pyenv/shims在PATH的最开头位置。如果不是,编辑你的shell配置文件(比如~/.bashrc或~/.zshrc),添加:export PATH="$HOME/.pyenv/shims:$PATH"执行
source ~/.bashrc(对应你的shell类型)刷新配置,确保pyenv的Python版本优先被系统找到。在tox.ini中明确指定各环境的Python版本
修改你的tox.ini,在[testenv]段添加basepython配置,直接绑定pyenv管理的对应版本:[testenv] basepython = py36: python3.6 py38: python3.8 py39: python3.9 envlist = py36,py38,py39这样Tox会直接调用pyenv的shim程序,无需依赖全局版本设置。
重置Tox的环境缓存
虽然.tox目录下有对应环境文件夹,但可能是基于错误的Python版本创建的。执行:rm -rf .tox然后重新运行
tox,让它基于正确的配置重新生成所有测试环境。验证pyenv版本的可用性
先执行pyenv versions确认3.6、3.8、3.9版本都已安装。再分别运行:python3.6 --version python3.8 --version python3.9 --version如果这些命令都能正常返回对应版本号,说明pyenv的shims工作正常,Tox应该能顺利识别到所有版本。
内容的提问来源于stack exchange,提问作者KansaiRobot
相关产品推荐
相关产品推荐

