Python 3.11创建venv虚拟环境时出现SRE模块不匹配错误求解决
解决Python venv执行时的AssertionError: SRE module mismatch错误
问题场景
环境为Oracle Linux Server 7,使用Python 3.11.0a4执行python3 -m venv env创建虚拟环境时,抛出以下错误:
[oracle@localhost myProjects]$ python3 -V Python 3.11.0a4 [oracle@localhost myProjects]$ python3 -m venv env Traceback (most recent call last): File "<frozen runpy>", line 189, in _run_module_as_main File "<frozen runpy>", line 148, in _get_module_details File "<frozen runpy>", line 112, in _get_module_details File "/usr/local/lib/python3.11/venv/__init__.py", line 7, in <module> import logging ^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/logging/__init__.py", line 26, in <module> import sys, os, time, io, re, traceback, warnings, weakref, collections.abc ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/re/__init__.py", line 125, in <module> from . import _compiler, _parser ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/re/_compiler.py", line 18, in <module> assert _sre.MAGIC == MAGIC, "SRE module mismatch" ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ AssertionError: SRE module mismatch
该错误源于Python的_sre内置模块与re模块的MAGIC校验值不匹配,通常是安装不完整、预览版bug或多版本冲突导致。
解决方法
替换为Python 3.11稳定版
当前使用的Python 3.11.0a4是预览版本,存在未修复的兼容性问题,建议替换为正式稳定版:- 卸载现有预览版:
sudo rm -rf /usr/local/lib/python3.11 sudo rm /usr/local/bin/python3.11 - 下载Python 3.11稳定版(如3.11.9),解压后编译安装:
./configure --enable-optimizations make sudo make altinstall
使用
altinstall可避免覆盖系统默认Python版本。- 卸载现有预览版:
清理模块路径冲突
检查系统中是否存在第三方模块干扰:python3 -c "import sys; print(sys.path)"若输出中包含非官方模块路径,将该路径下的_sre相关文件删除或移出,避免与内置模块冲突。
删除Python缓存文件
清理已编译的.pyc缓存文件,避免缓存导致的版本不匹配:find /usr/local/lib/python3.11 -name "*.pyc" -delete清理完成后重新尝试创建虚拟环境。
内容的提问来源于stack exchange,提问作者Steve
相关产品推荐
相关产品推荐

