Ubuntu 20.04下用tox+pyenv测试requests遇virtualenv模块错误求解决
解决
ModuleNotFoundError: No module named 'virtualenv.seed.embed.via_app_data'问题 这个错误的核心原因是新版virtualenv不再支持Python 3.7(Python 3.7已停止维护),下面是具体解决步骤:
1. 降级virtualenv到兼容版本
卸载当前不兼容的virtualenv,安装最后支持Python 3.7的版本之一:
- 卸载现有virtualenv:
pip uninstall -y virtualenv - 安装兼容版本:
pip install virtualenv==20.23.1
2. 配置tox强制使用兼容版本(可选)
如果全局环境仍有冲突,可在项目的tox.ini中指定virtualenv版本:
打开项目根目录的tox.ini,在[testenv]段添加:
deps = virtualenv==20.23.1
3. 清理tox缓存并重新测试
之前的缓存环境可能残留了不兼容的依赖,需要重建环境:
tox -e py37 --recreate
额外验证步骤
- 确认当前使用的是pyenv管理的Python 3.7.17:
pyenv local 3.7.17 python --version - 检查Python路径是否为pyenv路径:
which python
确保输出指向~/.pyenv/shims/python而非系统路径。
内容的提问来源于stack exchange,提问作者Deepak Krishna
相关产品推荐
相关产品推荐

