我正在使用pyrserve从python调用一个R脚本文件。我正在运行rserve。在R脚本中的任意点,pyrserve给出一个错误并退出:
Traceback (most recent call last):
File "scriptV2.py", line 272, in <module>
rConn.eval("source(file.PropensityFlow)")
File "/Users/dipayanmaiti/Py3.3venv/lib/python3.3/site-packages/pyRserve/rconn.py", line 47, in decoCheckIfClosed
return func(self, *args, **kw)
File "/Users/dipayanmaiti/Py3.3venv/lib/python3.3/site-packages/pyRserve/rconn.py", line 119, in eval
return rparse(src, atomicArray=atomicArray)
File "/Users/dipayanmaiti/Py3.3venv/lib/python3.3/site-packages/pyRserve/rparser.py", line 539, in rparse
return rparser.parse()
File "/Users/dipayanmaiti/Py3.3venv/lib/python3.3/site-packages/pyRserve/rparser.py", line 349, in parse
self.lexer.readHeader()
File "/Users/dipayanmaiti/Py3.3venv/lib/python3.3/site-packages/pyRserve/rparser.py", line 94, in readHeader
self.responseCode = struct.unpack(b'<i', self.read(3) + b'\x00')[0]
File "/Users/dipayanmaiti/Py3.3venv/lib/python3.3/site-packages/pyRserve/rparser.py", line 149, in read
raise EndOfDataError()
pyRserve.rparser.EndOfDataError我已经将rserv.conf设置为以下值:
maxinbuf 20000000
maxsendbuf 0有人知道为什么会这样吗?这看起来像是缓冲区问题,因为R脚本自己运行。
发布于 2014-07-17 23:47:26
这是一个较晚的答案,但在这种情况下,在调试模式下运行Rserve很有用,这样就可以在单独的shell中监视它的输出。
R CMD Rserve.dbg在极少数情况下,我看到Rserve将警告打印到控制台,当这种情况发生时,通过pyRserve发送的命令没有从Rserve返回任何值-这导致了上面的'EndOfDataError‘。
https://stackoverflow.com/questions/21398323
复制相似问题