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

jim*_*iat 10 python spyder

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

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

在此输入图像描述

知道为什么吗?

在另一篇文章中:Spyder:如何在本地编辑python脚本并在远程内核上执行它?建议(第二个答案)在%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
Run Code Online (Sandbox Code Playgroud)

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

Cod*_*all 1

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

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

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

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


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