4

我的python脚本以

from __future__ import division

在 RI 做

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

我明白了

文件“”,第 2 行语法错误:来自未来的导入必须出现在文件的开头

4

1 回答 1

0

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

我不确定默认情况下它是否以某种方式包装或以一些样板代码开头,但似乎如此。而且,如果您要使用 rPython 捕获错误,它肯定会在 try... 块中执行(至少考虑到 GitHub 上的当前代码)。

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

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

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

python.exec("import myscript")

但是,在这种稍微复杂的情况下,您可能必须处理路径问题,如此所述。

(让包维护者知道这种情况可能是个好主意,并且它可以使用比解决方法更好的东西。)

于 2018-01-09T12:38:05.080 回答