首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用PyCharm和Docker解释器进行X11转发

使用PyCharm和Docker解释器进行X11转发
EN

Stack Overflow用户
提问于 2016-08-26 05:42:12
回答 2查看 2K关注 0票数 10

我正在使用Docker解释器在PyCharm中开发一个项目,但在做大多数“交互式”事情时,我会遇到一些问题。例如,

代码语言:javascript
复制
import matplotlib.pyplot as plt
plt.plot([1, 2, 3], [4, 5, 6])

给出

代码语言:javascript
复制
RuntimeError: Invalid DISPLAY variable

我可以使用以下命令来规避这一点

代码语言:javascript
复制
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解释器?

EN

回答 2

Stack Overflow用户

发布于 2017-05-24 00:55:45

这是我想出来的the solution。我希望这对其他人有帮助。具体步骤如下:

  1. 安装和运行Socat

installed)

  • Edit TCP- XQuartz :6000,reuseaddr,fork installed)

  • Edit并运行XQuartz(可能已经为您的项目设置了PyCharm运行/调试配置,为DISPLAY变量设置了适当的地址

运行/调试项目会产生一个新的quartz弹出窗口,显示绘制的图形,而不需要保存到图像,等等。

票数 3
EN

Stack Overflow用户

发布于 2017-05-18 11:43:41

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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39155157

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档