rPython和__future__导入

时间:2017-08-02 14:31:49

标签: python r rpython

我的python脚本以

开头
from __future__ import division

在R中我做

library(rPython)
python.load("myscript.py")

我得到了

  

文件"",第2行SyntaxError:来自 future 导入必须   发生在文件的开头

1 个答案:

答案 0 :(得分:0)

我刚刚碰到了同样的问题 - 显然python.load()只是执行从该位置加载的脚本,就像它是一堆命令一样。

我不确定它是否包装或默认情况下会以某种样板代码开头,但似乎是这样。如果你使用rPython捕获错误,肯定会在try ...块中执行(至少给出当前的code on GitHub)。

但是,使用基于execfile()的变通方法为我完成了这项工作:

python.exec("execfile('myscript.py')")

另一种方法是,如果不需要在主块中执行代码,则导入模块

python.exec("import myscript")
然而,在这个稍微复杂的情况下,你可能不得不处理路径问题,例如, here

(让软件包维护人员了解这种情况可能是一个好主意,并且它可以使用比解决方法更好的东西。)