[PyCharm远程Python控制台]: 导入pandas时出现“无法连接到X服务器”错误。

3
我为PyCharm配置了远程Python解释器并使用SSH凭据连接。整个设置工作正常,但当我尝试导入任何使用Qt的Python库(如pandas或matplotlib)时,就会出现问题。
我附上了远程Python控制台的错误截图。当我单独通过SSH登录到远程系统时,同样的导入命令可以正常工作。
我在远程服务器上使用Anaconda安装所有Python库。我检查过pyqt也已安装。
有人能帮我解决这个问题吗?

也许你的常规ssh会话包括X转发,而你设置的远程Python调试会话没有? - Hamish Moffatt
是的,我确定正在发生这种情况。我不知道如何使用PyCharm远程控制台来完成这个任务。 - Samarth Bharadwaj
也许你可以将它放在你的 ~/.ssh/config 文件中,针对该主机? - Hamish Moffatt
成功的是,我在远程系统中安装了GUI。然后安装了VNC并通过运行vncserver进行了配置。这将提供一个显示编号,比如5.0。然后我在PyCharm中的项目设置中将环境变量设置为DISPLAY=:5.0。这起作用了,任何绘图命令都会发送到该显示器,我可以使用VNC客户端查看它。仍然存在一个错误:Xlib: extension "RANDR" missing on display ":5.0",但它能够正常工作。不知道我做对了什么。 - Samarth Bharadwaj
好的。不用担心 RANDR 警告,它只是告诉你 VNC 不支持 RANDR 扩展,该扩展用于在运行时更改分辨率或刷新率。 - Hamish Moffatt
哦,我明白了。好的,谢谢。我应该将这个标记为答案并关闭吧。 - Samarth Bharadwaj
1个回答

2
所做的是在远程系统中安装了一个GUI。然后安装了vnc并通过运行vncserver进行配置。这将给出一个显示号码,比如5.0。然后在PyCharm中的项目设置中将环境变量设置为DISPLAY=:5.0。这样就可以工作了,任何绘图命令都会发送到该显示器,我可以使用vnc客户端查看它。
仍然存在一个错误:Xlib: extension "RANDR" missing on display ":5.0",但正如@Hamish Moffatt所提到的,它可以被忽略。

我不确定我完全理解这个。我的设置与你遇到的相同错误类似。我的远程服务器是一台Ubuntu 12.04机器。那么我应该在那台机器上安装VNC服务器吗? - KidSudi
再次免责声明,我仍然不知道我做对了什么。但答案是肯定的。似乎matplotlib需要设置一个环境变量“DISPLAY”。因此,如果您安装了VNC服务器并“启动”它,则该变量将被初始化。然后,在PyCharm控制台中进行的任何绘图都会显示在那里。 - Samarth Bharadwaj
你是否在SSH终端中使用PyCharm启动VNC服务器? - KidSudi
你只需要做一次,所以并不重要。我是在SSH终端上完成的。我觉得我还应该说,在我的项目进行了一个月后,我停止使用PyCharm,转而使用简单的文本编辑器(sublime)和FTP编辑器选项(Mobixterm/WinSCP)。 - Samarth Bharadwaj
一定有解决这个问题的方法,而不需要安装图形用户界面——特别是考虑到你不需要使用GUI来使用pandas…… - abcd

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接