因此,这个问题有不同的变体--但没有一个能切中要害。
我想运行spyder并在服务器上进行交互式分析。我有两台服务器,spyder也没有。它们都有python (linux服务器),但我没有sudo权限来安装我需要的包。
简而言之,用例是:在本地机器上打开spyder。做一些事情(这里需要帮助)来使用服务器的计算能力,然后将结果返回到本地机器。
更新:
我已经在一台服务器上用我的包更新了python。现在来找出内核名称并链接到spyder。保留上一个版本的问题,因为它仍然有用。
docker进程有点吓人,paramiko也是如此。我有什么选择?
发布于 2018-09-19 01:25:30
(这里是Spyder维护者)您需要做的是在您的远程服务器中创建一个Spyder内核,并通过SSH连接到它。这是我们为您提供的唯一设施,可以满足您的需求。
您可以在our docs中找到执行此操作的确切说明。
发布于 2018-09-12 06:33:27
在我以前的工作中,我花了很长时间寻找类似的东西,当时我们想要快速迭代必须运行在集群中的许多工作者的代码。我发现的所有商业和开源任务队列项目都是基于运行具有任意输入的固定代码,而不是运行任意代码。
我也有兴趣看看有没有什么我遗漏的东西。但在我的例子中,我最终构建了自己的解决方案(不幸的是不是开源的)。
我的解决方案是:
1)我创建了一个Redis队列,其中每个任务由一个带有bash设置脚本(用于pip安装等)的zip文件、一个要运行的"payload“Python脚本和一个带有输入数据的pickle文件组成。
2) "payload“Python脚本将读取pickle文件或zip文件中包含的其他文件。它将输出一个名为output.zip的文件。
3)任务工作者是一个Python脚本(在远程机器上运行,侦听Redis队列),它将解压缩文件,运行bash设置脚本,然后运行Python脚本。当脚本退出时,worker将上传output.zip。
有各种优化,比如worker不会连续两次运行相同的bash设置脚本(它会记住最新设置脚本的SHA1散列)。所以,不管怎样,在最坏的情况下,你可以这样做。这需要一两个星期的时间来设置。
编辑:
如果您只需要在一台远程机器上运行,那么第二种(更手动的)选择是使用sshfs在本地挂载远程文件系统,这样您就可以在Spyder中快速编辑文件。然后,让ssh窗口对远程计算机保持打开状态,并从命令行运行Python,以便在该计算机上测试运行脚本。(这是我开发Raspberry Pi程序的标准设置。)
https://stackoverflow.com/questions/52283535
复制相似问题