2014-01-28 6 views
0

Я вызываю файл сценария R из python с помощью pyrserve. У меня есть работа. При произвольных точках R сценария, pyrserve выдает ошибку и завершает работу:Конец ошибки данных с использованием 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 запускается сам по себе.

ответ

0

Это поздний ответ, но в таких ситуациях полезно запустить Rserve в режиме отладки, чтобы его выход можно отслеживать в отдельной оболочке.

R CMD Rserve.dbg 

В некоторых редких случаях я видел предупреждение печати Rserve на консоль, и когда это случилось команда, посланной через pyRserve не возвращают никакого значения из Rserve - что привело к «EndOfDataError» выше.

 Смежные вопросы

  • Нет связанных вопросов^_^