【问题标题】:[pycharm remote python console]: "cannot connect to X server" error with import pandas[pycharm 远程 python 控制台]:导入 pandas 时出现“无法连接到 X 服务器”错误
【发布时间】:2015-07-02 12:10:29
【问题描述】:

我为 PyCharm 配置了一个远程 python 解释器并连接了 SSH 凭据。整个设置工作正常,除非我尝试导入任何使用 Qt 的 python 库,例如 pandas 或 matplotlib。

我放了一个带有此错误的远程 python 控制台的屏幕截图。当我单独 ssh 进入远程系统时,相同的导入命令可以正常工作。

我在远程服务器上使用 Anaconda 来安装所有 python 库。我检查了pyqt也安装了。

谁能帮我解决这个问题?

【问题讨论】:

  • 也许您的常规 ssh 会话包含 X 转发,而您设置的远程 python 调试会话不包含?
  • 是的,我确信这正在发生。我不知道如何使用 PyCharm 远程控制台来做到这一点
  • 也许你可以把它放在你的 ~/.ssh/config 中为那个主机?
  • 有效的是,我在远程系统中安装了一个 GUI。然后安装 vnc 并通过运行 vncserver 对其进行配置。它给出了一个显示编号,比如 5.0。然后我把 PyCharm 中的环境变量放到项目设置中的 DISPLAY=:5.0 中。那行得通,任何绘图命令都会转到该显示,我可以使用 vnc 客户端查看。仍然有一个错误: Xlib: extension "RANDR" missing on display ":5.0" 但它可以工作。不知道我在做什么对。
  • 好的。不要担心 RANDR 警告,它只是告诉您 VNC 不支持用于动态更改分辨率或刷新率的 RANDR 扩展。

标签: python qt matplotlib ssh pycharm


【解决方案1】:

有效的是,我在远程系统中安装了一个 GUI。然后安装 vnc 并通过运行 vncserver 对其进行配置。它给出了一个显示编号,比如 5.0。然后我将 PyCharm 中的环境变量放到项目设置中的 DISPLAY=:5.0 中。那行得通,任何绘图命令都会转到该显示,我可以使用 vnc 客户端查看。

还有一个错误:Xlib: extension "RANDR" missing on display ":5.0" 但正如@Hamish Moffatt 所说,可以忽略它。

【讨论】:

  • 我不确定我是否完全理解这一点。我有一个与你有相同错误的类似设置。我的远程服务器是一台 Ubuntu 12.04 机器。那么我应该在那台机器上安装 VNC 服务器吗?
  • 再次声明,我仍然不知道我做对了什么。但答案是肯定的。似乎 matplotlib 需要设置一个环境变量“DISPLAY”。因此,如果您安装 VNC 服务器并“启动”它,变量就会被初始化。然后您在 PyCharm 控制台中执行的任何绘图都会显示在那里。
  • 您是否在 SSH 终端上的 PyCharm 中启动 VNC 服务器?
  • 你只需要做一次,所以没关系。我是在 SSH 终端上完成的。我觉得我还应该说,我在项目开始一个月后就停止使用 PyCharm,转而使用简单的文本编辑器 (sublime) 和 ftp 编辑器选项 (Mobixterm/WinSCP)。
  • 必须有一种不涉及安装 GUI 的方法来解决这个问题——尤其是考虑到您不需要使用 GUI 来使用 pandas 。 . .
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-03-11
  • 1970-01-01
  • 2013-04-16
  • 2022-01-13
  • 2023-04-05
  • 2018-11-11
  • 2013-06-04
相关资源
最近更新 更多