簡體   English   中英

使用PyRserve結束數據錯誤

[英]End of data error using PyRserve

我正在使用pyrserve從python調用R腳本文件。 我很想跑步。 在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腳本本身運行。

這是一個較晚的答案,但是在這種情況下,以調試模式運行Rserve非常有用,因此可以在單獨的Shell中監視其輸出。

R CMD Rserve.dbg

在極少數情況下,我已經看到Rserve向控制台輸出警告,並且發生這種情況時,通過pyRserve發送的命令沒有從Rserve返回任何值-這導致了上面的'EndOfDataError'。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM