使用 PyCharm 在远程服务器上进行 Python 绘图

2023-12-25

我已经开始学习 Python,到目前为止我的设置一直遵循 - 在 Win10 64 位本地计算机上安装 Python 3.5,并使用 PyCharm 作为一个很棒的 IDE。一切正常,matplotlib 图表和其他可视化输出显示良好,调试工作等。

现在,我遇到了一些只能在 Linux 上运行的库。我在 Digital Ocean 上设置了 Ubuntu 16.4 64 位 VPS,安装了 Python 3.5。在 PyCharm 中,我设置了到远程主机的 SFTP 连接。代码运行有效,调试有效,但是,我无法将显示输出(matplotlib 图,...)带到本地(Win10)计算机。由于我对 Linux GUI 环境(X11?)一点也不熟悉,在谷歌搜索后我有以下问题:

1) 远程 Linux 机器上应该安装什么东西吗? (例如 x11 客户端/服务器/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)在远程机器上,我必须检查显示号码(回显$DISPLAY) - 这对每个人来说都可能不同。对我来说是 localhost:10.0

6)在 PyCharm 运行配置 -> 环境变量中我必须添加 DISPLAY=localhost:10.0

完成所有这些步骤并在后台运行 Putty+Xming 后,我能够执行远程代码并将图形带回我的 Windows 10 PC!

PS - 过程实际上很慢,我必须等待大约 10 秒才能将图像带回给我。我不确定为什么或如何加快速度。可能是另一个问题。 (降低芯片强度并启用压缩没有帮助。x11 远程和本地似乎存在某种初始化问题)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 PyCharm 在远程服务器上进行 Python 绘图 的相关文章

随机推荐

  • Java Lambdas:它在 JVM 中如何工作以及它是 OOP 吗? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 例如 在匿名内部类的情况下 将传递 匿名 对象引用并执行该对象的方法 Lambda 是在需要时执行的代码块 当遇到 lambda 时
  • 在 Angular 应用程序上将 XML RSS feed 转换为 Json

    我有一个这样的APIhttps blog com rss 它返回下面的 xml 作为博客提要 Note 我见过这个 但这是针对nodejs应用程序的 https github com nasa8x rss to json https git
  • 当图服务调用返回时,是否不能保证用户已添加到租户中?

    我的应用程序有一个用户管理界面 可供对我们的 Azure 租户没有足够权限的用户进行委派管理 当新用户添加到应用程序时 我们会检查该用户是否已存在于租户中 如果不存在 我们会邀请他们 像这样的事情 var existingUser Try
  • 在 EF 6 中创建具有主键和标识列的实体

    我已经有一张桌子了varchar首要的关键 这与我当前的工作正常 edmx model 现在我在该表中添加了一个自动增量标识列 当我尝试更新时 edmx 该表未包含在 edmx 我不能有一个varcharPK列和自增标识列在同一个表中 Ye
  • 错误:未为类“PlatformButton”定义方法“FlatButton”

    我收到这些错误 但不知道如何修复它们 AppData Local Pub Cache hosted pub dartlang org flutter platform widgets 1 20 0 lib src platform butt
  • 用于解密文件并将文件从一个目录移动到另一个目录的 Shell 脚本

    我有一个目录 里面有几个文件 我正在尝试解密这些文件并将它们移动到另一个目录 我不知道如何设置输出文件名并移动它 因此 目录结构如下所示 Applications MAMP bin decryptandmove sh Application
  • Apple 开发者注册错误:您目前无法完成 Apple 开发者计划的注册 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 当我注册 Apple Developer Program 时出现以下消息 您的注册无法完成 您目前无法完成 Apple 开发者计划的注册
  • 运行外部命令并获取其消耗的 CPU 量

    很简单 我想从 Python 脚本中运行外部命令 程序 一旦完成 我还想知道它消耗了多少 CPU 时间 Hard模式 并行运行多个命令不会导致CPU消耗结果不准确 On UNIX a 使用resource http docs python
  • 通过 HTTPS 的 Mojolicious

    我正在将 Mojolicious 用于需要加密连接的 Web 应用程序 但我不知道如何向 Mojolicious 添加 SSL 支持 我的同事向我发送了这些 文件domain key domain bundle crt domain crt
  • 部分语音识别

    我目前在使用 Microsoft 语音引擎进行语音识别方面玩得很开心 它的设置和使用 C 非常简单 并且可以用比我最初想象的更少的代码行来实现伟大的事情 现在 重点是我真的不知道如何处理这个问题 我知道引擎需要开始监听 然后你说一个单词或一
  • 资产路径中缺少指纹

    我们刚刚使用新的资产管道部署了 Rails 3 1 应用程序 在开发中一切看起来都很好 但在生产中所有资产图像都丢失了 部署时 我们遵循 Ruby on Rails Edge Guide 作为示例 我们的应用程序中的一个简单代码片段 ass
  • 当用户单击链接时,想要使用 jquery 在链接下方显示 div

    我有链接和一个div 我想当用户单击链接时在链接下方显示 div 我想通过代码将 div 定位在链接下方 这意味着 div 的顶部和左侧将根据链接的顶部和左侧位置通过代码设置 需要帮忙 a About a div a href About
  • 如何在 C# 中释放桌面应用程序的 VM/私有字节

    我有用 C 开发的桌面应用程序 应用程序使用的虚拟机大小非常高 我想向 pdf 文件添加水印 该文件有超过 10 000 页 确切地说是 10776 页 VM 大小增加 有时应用程序冻结或抛出内存不足异常 是否有解决方案可以在 C 中以编程
  • 如何在android中单击按钮时对EditText应用撤消和重做操作

    我正在尝试在向 EditText 写入或应用效果时应用撤消和重做操作 为此 我已经从这里下载了课程Link https code google com p android issues detail id 6458 c123然后我在我的应用
  • SAS:使用 PROC IMPORT 导入 .xlsx 时定义类型

    问题 使用 PROC IMPORT 时如何定义从 xlsx 文件导入的变量的变量类型 My work 我正在使用 SAS v9 4 据我所知 它是普通的 SAS 我没有 SAS ACCESS 等 我的数据如下所示 ID1 ID2 MONTH
  • 使用 argparse 将参数发送给 Python 脚本中的函数

    我处于一种奇怪的情况 我需要一个 Python 函数从脚本中运行 然后从我的主代码中调用该脚本 我想用subprocess模块 并知道如何使用它将参数传递给纯脚本 但问题是 我需要将参数传递给其中的嵌套 Python 函数 其中大部分是可选
  • 故意损坏文件系统

    我必须明确测试我的应用程序在尝试访问 NTFS 文件系统的某些损坏部分时会执行什么操作 我四处寻找类似的问题 但这些问题都是关于破坏特定文件 即破坏 xml 文件的语法等 我需要创建一个场景chkdsk http technet micro
  • java中同步ArrayList的正确方法

    我不确定这是否是同步我的正确方法ArrayList 我有一个ArrayList in queue这是从传入的registerInQueue功能 ArrayList
  • 有趣的事件“Dispose”行为

    我注意到我们的 NET WinForms 应用程序中的有趣行为 我们有一个 MDI 表单 其中添加了许多 MDI 子项 这些子窗体监听 广播 事件 该事件本质上是调用刷新自身 该事件在基类中声明 并在子窗体中添加侦听事件 我注意到 即使这些
  • 使用 PyCharm 在远程服务器上进行 Python 绘图

    我已经开始学习 Python 到目前为止我的设置一直遵循 在 Win10 64 位本地计算机上安装 Python 3 5 并使用 PyCharm 作为一个很棒的 IDE 一切正常 matplotlib 图表和其他可视化输出显示良好 调试工作