Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Spyder,运行位于远程服务器上的脚本_Python_Spyder - Fatal编程技术网

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

Python Spyder,运行位于远程服务器上的脚本,python,spyder,Python,Spyder,我开始使用Spyder编辑远程服务器上的代码。 我设法连接到远程服务器的内核。 为了能够打开和保存(下载、上传)脚本,我安装了Expandrive,它将服务器映射为我机器上的外部硬盘。服务器操作系统是Linux,我的本地操作系统是Windows 我认为应该可以,但我仍然收到错误文件未找到 知道为什么吗 在另一篇文章:,建议(第二个答案)向%run命令文件添加一些特定代码,以便程序理解linux的dirpath语法 # ----added to remap local dir to re

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

我认为应该可以,但我仍然收到错误
文件未找到

知道为什么吗

在另一篇文章:,建议(第二个答案)向
%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

您认为这样可以解决我的问题吗?

运行
%magic的路径需要是服务器看到的路径,而不是客户端看到的路径。您正在从客户的角度传递路径

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

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

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



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

这可能是远程服务器连接的Spyder中的配置问题。我对屏幕截图的理解是,您的远程服务器试图达到一个路径“Z:\notebook…等”,这显然是您的本地路径…因此我想说这是SpyderI中的连接配置问题。我将查看以下两个链接:一些建议,以尝试(我不使用Spyder):(1)看起来好像不需要引号。你试过把它当作原始文本吗?(2) 我认为Spyder希望文件夹级别使用正斜杠而不是反斜杠。我怀疑这两种方法是否有用,但它们都很容易尝试。我在2年前尝试过设置它,但由于类似的错误而放弃。。现在我与PyCharm Pro合作,它拥有所有这些功能和更多功能。。如果你是学生,专业版是免费的。是的,或者在你的本地工作。。我的结论是:)