在终端中运行代码时远程桌面会冻结,但在 Pycharm 中不会冻结

在终端中运行代码时远程桌面会冻结,但在 Pycharm 中不会冻结

我遇到了一个非常奇怪的问题。非常感谢调试建议/修复,因为它阻止了将新代码集成到团队的工作流程中。

我在 conda 环境中运行深度学习 pytorch 代码。当我从 pycharm 设置环境的解释器运行它时,一切都运行良好。当我使用 conda 激活相同的环境并运行代码时,它会在一个纪元结束时冻结,可能是在保存到磁盘的阶段。窗口远程桌面会话显示窗口。鼠标可以使用,但单击或热键不起作用。关闭并重新打开远程桌面会产生相同的结果,我无法以其他用户身份登录。从其他机器登录的其他用户不受我的冻结影响。冻结发生在机器和用户之间,全部在 Ubuntu 18.04 上(不允许更新到 22.x)。我们使用 xrdp Xorg 登录。

我已尝试在 conda/pytorch/python 端进行调试并征求建议,但我不明白 pycharm 与终端的冻结类型和差异。

答案1

该问题是由 python 的 matplotlib 接管操作系统后端引起的。Pycharm 在启动时切换后端。以下任何解决方案均有效:

  1. 只需使用 Pycharm。
  2. 在 python 环境中安装 Qt5Agg(安装时也会切换后端)。
  3. 在顶层或绘图 python 函数中添加 matplotlib.use([稳定的后端之一])。

这与所有症状一致并能解决所有症状。

感谢最有帮助的 Linux 社区的反对!

相关内容