使用PyCharm和Docker Interpreter进行X11转发

Cha*_*vis 9 x11 matplotlib pycharm docker

我正在使用Docker解释器在PyCharm中开发一个项目,但是在做大多数"交互式"事情时我遇到了问题.例如,

import matplotlib.pyplot as plt
plt.plot([1, 2, 3], [4, 5, 6])
Run Code Online (Sandbox Code Playgroud)

RuntimeError: Invalid DISPLAY variable
Run Code Online (Sandbox Code Playgroud)

我可以绕过这个

import matplotlib
matplotlib.use('agg')
Run Code Online (Sandbox Code Playgroud)

摆脱错误,但是当我做plt.show()时没有产生情节.我也得到了与线程[pycharm远程python控制台]相同的错误:导入熊猫时尝试调试导入pandas出现"无法连接到X服务器"错误,但我无法通过SSH连接到我的docker容器,因此解决方案在那里提出不起作用.我已经看到了将"-e DISPLAY = $ DISPLAY"传递给"docker run"命令的解决方案,但我不相信PyCharm有任何使用Docker解释器指定命令行参数的功能.有没有办法设置某种永久的,通用的X11转发(如果这确实是根本原因),以便这些图将适当地传递到我本地机器上的DISPLAY?更一般地说,有没有人在PyCharm中成功使用matplotlib和Docker解释器?

Ric*_*nco 2

xhost +在主机上运行并将这些选项添加到docker run-e DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix