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

时间:2017-01-08 06:38:22

标签: python spyder

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

我认为这应该有用,但我仍然收到错误file not found

enter image description here

知道为什么吗?

在另一篇帖子: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

你认为这会解决我的问题吗?

1 个答案:

答案 0 :(得分:1)

%run魔术的路径必须是服务器看到的路径,而不是客户端。您正在从客户端的角度传递路径。

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

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

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


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