Python3.10中已安装six仍报ModuleNotFoundError问题求助
解决Python3.10下virtualenv报错
ModuleNotFoundError: No module named 'six'的问题 核心原因
sudo执行命令时会切换到root用户的Python环境,和你当前用户已安装six的环境是隔离的;或者virtualenv默认调用的Python解释器并非你检查的那个版本。
可行解决方案
避免使用sudo执行virtualenv
直接运行virtualenv ve即可。如果遇到权限问题,先确保目标目录有写入权限,或者先通过pip3 install --user virtualenv将virtualenv安装到当前用户环境,之后用~/.local/bin/virtualenv ve创建虚拟环境。给root环境安装six
你之前的检查是在普通用户环境下执行的,root环境可能未安装six,运行以下命令:sudo python3 -m pip install six==1.16.0之后再执行
sudo virtualenv ve。指定virtualenv使用的Python解释器
先通过which python3.10找到你确认安装了six的Python路径,比如输出是/usr/bin/python3.10,然后运行:sudo virtualenv -p /usr/bin/python3.10 ve强制virtualenv使用这个带six的解释器。
清理冲突的virtualenv安装
卸载系统包管理的virtualenv:sudo apt remove python3-virtualenv然后用pip重新安装到用户环境:
pip3 install --user virtualenv之后直接用用户环境的virtualenv创建环境,无需sudo:
~/.local/bin/virtualenv ve
内容的提问来源于stack exchange,提问作者souradeep majumdar
相关产品推荐
相关产品推荐

