我开始使用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
你认为这会解决我的问题吗?
答案 0 :(得分:1)
%run
魔术的路径必须是服务器看到的路径,而不是客户端。您正在从客户端的角度传递路径。
当您输入run Z:/blah/blah/blah.py
时,终端会将该路径发送到IPython服务器以执行。服务器正在寻找路径Z:/blah/blah/blah.py
,但是由于在服务器上 不存在该路径,因此命令失败,并出现文件未找到错误。
最简单的解决方案是仅使用服务器期望的路径运行命令:
%run /path/to/blah/on/server/blah.py
底线:请记住,服务器无法访问运行 client 终端的文件。