我的python脚本以
开头from __future__ import division
在R中我做
library(rPython)
python.load("myscript.py")
我得到了
文件"",第2行SyntaxError:来自 future 导入必须 发生在文件的开头
答案 0 :(得分:0)
我刚刚碰到了同样的问题 - 显然python.load()只是执行从该位置加载的脚本,就像它是一堆命令一样。
我不确定它是否包装或默认情况下会以某种样板代码开头,但似乎是这样。如果你使用rPython捕获错误,肯定会在try ...块中执行(至少给出当前的code on GitHub)。
但是,使用基于execfile()的变通方法为我完成了这项工作:
python.exec("execfile('myscript.py')")
另一种方法是,如果不需要在主块中执行代码,则导入模块
python.exec("import myscript")
然而,在这个稍微复杂的情况下,你可能不得不处理路径问题,例如, here
(让软件包维护人员了解这种情况可能是一个好主意,并且它可以使用比解决方法更好的东西。)