Spyder,运行位于远程服务器上的脚本。

34

我开始使用Spyder编辑位于远程服务器上的代码。 我成功连接到了远程服务器的内核。 为了能够打开和保存(下载、上传)脚本,我安装了Expandrive,将服务器映射为我的机器上的外部硬盘驱动器。服务器操作系统是Linux,我的本地操作系统是Windows。

我认为这应该可以工作,但我仍然收到错误消息文件未找到

输入图像描述

有任何想法吗?

在这篇文章中:Spyder: How to edit a python script locally and execute it on a remote kernel?,建议(第二个答案)在%run命令文件中添加一些特定的代码,以便程序可以理解Linux的dirpath语法。

    # ----added to remap local dir to remote dir-------
    localpath = "Z:\wk"
    remotepath = "/mnt/sdb1/wk"
    if localpath in filename:
        # convert path to linux path
        filename = filename.replace(localpath, remotepath)
        filename = filename.replace("\\", "/")
    # ----- END mod

你认为那能解决我的问题吗?


可能是Spyder远程服务器连接的配置问题。从截图中我理解到,您的远程服务器试图访问“Z:\notebook....etc”路径,显然这是您的本地路径...所以我会说这是Spyder连接配置的问题。 - jossefaz
2
我会查看这两个链接:https://medium.com/@halmubarak/connecting-spyder-ide-to-a-remote-ipython-kernel-25a322f2b2be 和 https://medium.com/@mazzine.r/how-to-connect-your-spyder-ide-to-an-external-ipython-kernel-with-ssh-putty-tunnel-e1c679e44154 - gnahum
以下是几个建议(我不使用Spyder):(1)看起来似乎不需要引号。您尝试过将其作为原始文本吗?(2)我认为Spyder希望使用正斜杠而不是反斜杠来表示文件夹层级。我怀疑这两个建议都不会有所帮助,但它们很容易尝试。 - Mike Williamson
我曾经在两年前尝试过设置这个,但由于类似的错误而放弃了。现在我使用PyCharm Pro,它具有所有这些功能以及更多功能。如果你是学生,Pro版本是免费的。 - user2827262
是的,或者在本地工作...这是我的结论 :) - jim jarnac
只需使用FTP来下载和上传您的文件即可... - JanF
1个回答

1
< p > %run 魔法的路径需要是 服务器看到的路径,而不是客户端。您正在从 客户端的 视角传递路径。

当您键入run Z:/blah/blah/blah.py时,您的终端会将该路径发送到IPython服务器以执行。服务器查找路径Z:/blah/blah/blah.py,但由于它不存在于服务器上,因此命令失败并显示文件未找到错误。

最简单的解决方案是使用服务器预期的路径运行命令:

%run /path/to/blah/on/server/blah.py


底线:请记住,服务器无法访问客户端终端上运行的文件。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接