Проблема PypeR "глобальное имя 'dump_stdout' не определено"
Привет и заранее спасибо.
Я пытаюсь запустить очень простой код на Python, используя модуль PypeR для запуска сценариев R в моем коде Python:
#Writing Some Python Code to interface with R
from pyper import *
import sys
import os
import pandas
import glob
import subprocess
import numpy
outputs = runR("a <- 3; print(a+5)")
Это приводит к следующей ошибке:
Traceback (most recent call last):
File "C:/Users/gavefl1/Documents/GitHub/Git_R_Test/NewRepo_Python_R/Python_R/MasterFile.py", line 14, in <module>
outputs = runR("a <- 3; print(a+5)")
File "C:\Python27\lib\site-packages\pyper.py", line 793, in runR
Robj = R(RCMD=Robj, max_len=max_len, use_numpy=use_numpy, use_pandas=use_pandas, use_dict=use_dict, host=host, user=user, ssh=ssh, dump_stdout=dump_stdout)
NameError: global name 'dump_stdout' is not defined
Я попытался изучить реальный код PypeR.py, но, насколько я могу судить, определено значение dump_stdout. Мои системные характеристики ниже. Еще раз спасибо
Windows 7 64-битный Python 2.7.8 Visual Studio 2008 (я читал, что это лучший пакет Visual Studio для работы с Python) R 3.1.1 PypeR 1.1.2
1 ответ
Я думаю, что ваш пример пришел отсюда: http://www.jstatsoft.org/v35/c02/paper
Эта статья была опубликована в 2010 году и, скорее всего, соответствует версии 1.0 https://pypi.python.org/pypi/PypeR/1.0
Вы можете установить pyper v.1.0 следующим образом.
pip uninstall pyper
pip install pyper==1.0
При этом вы можете достичь тех же результатов с текущей версией (1.1.2), выполнив следующие действия:
>>> r = R()
>>> outputs = r.("a <- 3; print(a+5)")
>>> outputs
'try({a <- 3; print(a+5)})\n[1] 8\n'
С версией 1.0 результат был:
>>> outputs = runR('a <- 3; print(a+5)')
>>> outputs
'try({a <- 3; print(a+5)})\n[1] 8\n'