我正在使用Docker解释器在PyCharm中开发一个项目,但在做大多数“交互式”事情时,我会遇到一些问题。例如,
import matplotlib.pyplot as plt
plt.plot([1, 2, 3], [4, 5, 6])给出
RuntimeError: Invalid DISPLAY variable我可以使用以下命令来规避这一点
import matplotlib
matplotlib.use('agg')它消除了错误,但在执行plt.show()时不会生成任何图。在导入Pandas之后尝试调试时,我也得到了与线程[pycharm remote python console]: "cannot connect to X server" error with import pandas相同的错误,但我不能通过SSH进入我的停靠容器,所以这里提出的解决方案不起作用。我见过将"docker DISPLAY=$DISPLAY“传递到”Docker run“命令中的解决方案,但我不相信PyCharm有任何功能来使用Docker解释器来指定这样的命令行参数。有没有办法设置某种永久的、通用的X11转发(如果这确实是根本原因),以便将绘图适当地传递到我本地机器上的显示器?更普遍的是,有没有人在PyCharm中成功地使用过matplotlib和Docker解释器?
发布于 2017-05-24 00:55:45
这是我想出来的the solution。我希望这对其他人有帮助。具体步骤如下:
installed)
运行/调试项目会产生一个新的quartz弹出窗口,显示绘制的图形,而不需要保存到图像,等等。
发布于 2017-05-18 11:43:41
在主机上运行xhost +并将以下选项添加到docker run:-e DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix
https://stackoverflow.com/questions/39155157
复制相似问题