【问题标题】:Spyder, Run script located on remote serverSpyder,运行位于远程服务器上的脚本
【发布时间】:2017-05-22 15:52:26
【问题描述】:

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

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

知道为什么吗?

在另一个帖子: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 中
  • 几个建议尝试(我不使用 Spyder):(1)它看起来不需要引号。您是否尝试过将其作为原始文本进行? (2) 我认为 Spyder 想要文件夹级别的正斜杠而不是反斜杠。我怀疑两者都有帮助,但它们很容易尝试。
  • 我在 2 年前尝试过设置它,但由于类似的错误而放弃了。现在我使用 PyCharm Pro,它具有所有这些功能等等。如果你有,专业版是免费的是学生..
  • 是的,或者在你的本地工作。我的结论:)

标签: python spyder


【解决方案1】:

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

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

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

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


底线:记住服务器不能访问客户端终端运行的文件。

【讨论】:

    猜你喜欢
    • 2012-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-11
    • 2013-12-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多