Python 使用 PyCharm 在远程服务器上绘图
Python plotting on remote server using PyCharm
我已经开始学习 Python 并且到目前为止我的设置一直遵循 - Python 在 Win10 64 位本地机器上安装 3.5 PyCharm 非常棒 IDE .一切正常,matplotlib 图表和其他视觉输出显示正常,调试工作等
现在,我遇到了一些仅适用于 Linux 的库。我在 Digital Ocean 上设置了 Ubuntu 16.4 64bit VPS,安装了 Python 3.5。在 PyCharm 中,我已经建立了到远程主机的 SFTP 连接。代码 运行ning 有效,调试有效,但是,我无法将显示输出(matplotlib 图,...)带到本地 (Win10) 机器。由于我一点也不熟悉 Linux GUI 环境(X11?),在谷歌搜索后我有以下问题:
1) 是否应该在远程 Linux 机器上安装任何东西? (例如 x11 client/server/smth?)
2) 是否应该在本地 Win 机器上安装任何东西? (比如Xming?)
3) 应该在远程 Linx 机器上配置什么吗? (例如 X11 转发)
4) 是否应该在本地 Win 机器上配置任何东西 PyCharm?
5) Putty 中有 X11 转发设置,有些人建议使用这些设置,但我不确定,Putty 会话 运行 是否应该与 PyCharm 并行并且是否可以避免。
非常感谢!
PS - 我已经在远程机器上安装了 Jupyter Notebook(和最新的 Jupyter Lab)并且它运行良好,但是我仍然更喜欢 PyCharm 作为主要的 IDE 和更好的代码完成、调试器和其他津贴。
好的,经过更多的谷歌搜索,我终于设法让这个过程正常工作,希望它能帮助别人:
1) 在远程主机上 (VPS, Ubuntu 16.04) 我必须安装 X11 服务器,我通过以下方式安装:
sudo apt-get install xorg
sudo apt-get install openbox
2) 在远程主机上,我必须确保在 /etc/ssh/sshd_config
中启用了 X11Forwarding
3) 在本地 Win10 机器上,我必须安装 Xming 服务器并使用默认设置启动它。
4) 在本地 Win10 机器上,我必须将 Putty 配置为使用默认设置的 X11 转发(连接-> SSH -> X11 转发)并保持连接打开,同时 运行 PyCharm(它似乎 PyCharm 中没有启用 x11 转发的选项,因此 putty 必须在后台 运行)
5) 在远程机器上,我必须检查显示编号 (echo $DISPLAY) - 这对每个人来说都不同。对我来说是 localhost:10.0
6) 在 PyCharm 运行 配置 -> 环境变量中,我必须添加 DISPLAY=localhost:10.0
完成所有这些步骤并在背景中使用 Putty+Xming 运行,我能够执行远程代码并将图形带回我的 Windows 10 PC!
PS - 过程实际上很慢,我必须等待大约 10 秒才能将图像返回给我。我不确定为什么或如何加快速度。可能是另一个问题。 (降低芯片强度和启用压缩没有帮助。x11 远程和本地似乎存在某种初始化问题)
Mac 用户应安装 XQuartz
而不是 Xming
。
另一件重要的事情:如果您通过 homebrew
安装 xquartz
,您应该重新登录您的 macos 或重新启动。
正如rackpas's answer所说。
我已经开始学习 Python 并且到目前为止我的设置一直遵循 - Python 在 Win10 64 位本地机器上安装 3.5 PyCharm 非常棒 IDE .一切正常,matplotlib 图表和其他视觉输出显示正常,调试工作等
现在,我遇到了一些仅适用于 Linux 的库。我在 Digital Ocean 上设置了 Ubuntu 16.4 64bit VPS,安装了 Python 3.5。在 PyCharm 中,我已经建立了到远程主机的 SFTP 连接。代码 运行ning 有效,调试有效,但是,我无法将显示输出(matplotlib 图,...)带到本地 (Win10) 机器。由于我一点也不熟悉 Linux GUI 环境(X11?),在谷歌搜索后我有以下问题:
1) 是否应该在远程 Linux 机器上安装任何东西? (例如 x11 client/server/smth?)
2) 是否应该在本地 Win 机器上安装任何东西? (比如Xming?)
3) 应该在远程 Linx 机器上配置什么吗? (例如 X11 转发)
4) 是否应该在本地 Win 机器上配置任何东西 PyCharm?
5) Putty 中有 X11 转发设置,有些人建议使用这些设置,但我不确定,Putty 会话 运行 是否应该与 PyCharm 并行并且是否可以避免。
非常感谢!
PS - 我已经在远程机器上安装了 Jupyter Notebook(和最新的 Jupyter Lab)并且它运行良好,但是我仍然更喜欢 PyCharm 作为主要的 IDE 和更好的代码完成、调试器和其他津贴。
好的,经过更多的谷歌搜索,我终于设法让这个过程正常工作,希望它能帮助别人:
1) 在远程主机上 (VPS, Ubuntu 16.04) 我必须安装 X11 服务器,我通过以下方式安装:
sudo apt-get install xorg
sudo apt-get install openbox
2) 在远程主机上,我必须确保在 /etc/ssh/sshd_config
中启用了 X11Forwarding3) 在本地 Win10 机器上,我必须安装 Xming 服务器并使用默认设置启动它。
4) 在本地 Win10 机器上,我必须将 Putty 配置为使用默认设置的 X11 转发(连接-> SSH -> X11 转发)并保持连接打开,同时 运行 PyCharm(它似乎 PyCharm 中没有启用 x11 转发的选项,因此 putty 必须在后台 运行)
5) 在远程机器上,我必须检查显示编号 (echo $DISPLAY) - 这对每个人来说都不同。对我来说是 localhost:10.0
6) 在 PyCharm 运行 配置 -> 环境变量中,我必须添加 DISPLAY=localhost:10.0
完成所有这些步骤并在背景中使用 Putty+Xming 运行,我能够执行远程代码并将图形带回我的 Windows 10 PC!
PS - 过程实际上很慢,我必须等待大约 10 秒才能将图像返回给我。我不确定为什么或如何加快速度。可能是另一个问题。 (降低芯片强度和启用压缩没有帮助。x11 远程和本地似乎存在某种初始化问题)
Mac 用户应安装 XQuartz
而不是 Xming
。
另一件重要的事情:如果您通过 homebrew
安装 xquartz
,您应该重新登录您的 macos 或重新启动。
正如rackpas's answer所说。