Ubuntu22.04下PyQt5运行报错__libc_pthread_init未定义的解决方法
Ubuntu 22.04下PyQt5运行报错的解决方法
这个报错是系统中snap版本的libpthread.so.0与原生GLIBC库冲突导致的,PyQt5运行时加载了错误的库文件。以下是具体解决步骤:
- 先检查当前Python环境:执行
which python3,如果输出是/snap/bin/python3这类路径,说明你用的是snap安装的Python,这就是问题根源。 - 切换到系统原生Python:Ubuntu 22.04默认自带原生Python3,路径为
/usr/bin/python3,直接用这个路径运行脚本:/usr/bin/python3 your_script.py - 安装系统原生PyQt5(若未安装):
- 卸载snap版PyQt5(如果存在):
sudo snap remove pyqt5 - 用apt安装原生包:
sudo apt update && sudo apt install python3-pyqt5
- 卸载snap版PyQt5(如果存在):
- (可选)用虚拟环境隔离环境:
- 基于原生Python创建虚拟环境:
/usr/bin/python3 -m venv pyqt_env - 激活虚拟环境:
source pyqt_env/bin/activate - 安装PyQt5:
pip install pyqt5
- 基于原生Python创建虚拟环境:
完成以上操作后,重新运行你的PyQt5代码,就能正常弹出窗口,不会再出现库冲突的报错。
内容的提问来源于stack exchange,提问作者Rezwan
相关产品推荐
相关产品推荐

