Python spyder无法初始化GLX

时间:2017-02-17 06:52:27

标签: python opencv ubuntu spyder

尝试设置桌面工作站以进行图像处理。我最近安装了ubuntu 16.04并经过Adrian的guide来安装python3,cv2和虚拟环境。

我没有使用cv2 3.1.0,而是使用了cv2 3.2.0,但除此之外,一切都是一样的。

正确安装并运行各种测试后,我确认python3正在运行,而cv2已链接到python。

由于我习惯使用图形界面,因此我决定安装spyder,因为它有一个很好的GUI系统。我之前在两个独立的设备(笔记本电脑和树莓派3)上做过这个。但是,在这台台式电脑上安装时遇到了一个奇怪的问题。

当我运行spyder时,会导致错误

  Could not initialize GLX
  Aborted (core dumped)

我一直在寻找解决方案,但我似乎找不到这个问题的答案

编辑:我在ubuntu上搜索核心转储文件,我发现一堆文件都包含相同的代码00000033。

4 个答案:

答案 0 :(得分:2)

首先,为了我们的理解:

  

GLX(“OpenGL扩展到X Window系统”的初始主义)是一个   扩展到提供接口的X Window System核心协议   OpenGL和X Window系统之间以及OpenGL的扩展   本身。它使希望使用OpenGL的程序能够在一个内部执行   窗口系统提供的窗口。 GLX区分了两个   “国家”:间接国家和直接国家。

无论如何,我在安装QT时遇到了类似问题并解决了安装以下软件包的问题: libgl1-mesa-dri

sudo apt-get install libgl1-mesa-dri

我发现的另一个类似解决方案是:

sudo apt-get purge nvidia*
sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.orig
sudo rm /etc/X11/xorg.conf

对于32位,

sudo apt-get install --reinstall xserver-xorg-core libgl1-mesa-glx:i386 libgl1-mesa-dri:i386

对于64位

sudo apt-get install --reinstall xserver-xorg-core libgl1-mesa-glx:amd64 libgl1-mesa-dri:amd64

sudo dpkg-reconfigure xserver-xorg

我希望它可以帮到你。

答案 1 :(得分:2)

我使用x2go遇到了同样的问题。在尝试了上面提到的所有内容之后,我发现的唯一解决方案是以不同的方式启动spyder。在此之前,我将按照以下步骤进行操作(并且在spyder 4中非常有效):

source activate [name of your virtual environment]
spyder&

从上周开始,'spyder&'命令不再启动IDE,我改为通过写来克服了这个问题:

source activate [name of your virtual environment]
spyder3

终端仍在抱怨某些问题,但至少我现在可以工作!

答案 2 :(得分:2)

我在Raspberry Pi上运行Ubuntu,并且Spyder遇到相同的问题。

尝试运行spyder时,我的原始问题是这样的:

qt.glx: qglx_findConfig: Failed to finding matching FBConfig for QSurfaceFormat(version 2.0, options QFlags<QSurfaceFormat::FormatOption>(), depthBufferSize -1, redBufferSize 1, greenBufferSize 1, blueBufferSize 1, alphaBufferSize -1, stencilBufferSize -1, samples -1, swapBehavior QSurfaceFormat::SingleBuffer, swapInterval 1, colorSpace QSurfaceFormat::DefaultColorSpace, profile  QSurfaceFormat::NoProfile)
Could not initialize GLX
Aborted (core dumped)

我在该线程上尝试了大多数操作,最终通过在我尝试以以下方式运行它的用户下导出以下变量来使其工作:

export QT_XCB_GL_INTEGRATION=none

这是在QuteBrowser github问题线程中发现的,该问题涉及类似的问题: https://github.com/NixOS/nixpkgs/issues/66755#issuecomment-657305962

答案 3 :(得分:1)

我遇到了这个问题,使用ssh连接时spyder无法启动,并且出现错误: Could not initialize GLX. 这是因为qt版本是最新版本:5.9

我无法通过安装pyopengl或我在网上找到的任何其他修复程序来解决它。 简单地安装qt 5.6.2(使用conda -c conda-forge)也不起作用,因为它将我的matplotlib版本降级到2.2

我通过重新安装完整的conda环境来确保它具有我想要的matplotlib版本:3.1.1

解决方案: conda install -c conda-forge matplotlib=3.1 qt=5.6.2 spyder