首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PypeR问题“未定义全局名称'dump_stdout‘”

PypeR问题“未定义全局名称'dump_stdout‘”
EN

Stack Overflow用户
提问于 2014-09-16 11:49:40
回答 1查看 1.5K关注 0票数 2

提前向您问候和感谢。

我正在尝试用Python语言运行一个非常简单的代码,使用PypeR模块在我的Python语言代码中运行R脚本:

代码语言:javascript
复制
#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)")

它会导致以下错误:

代码语言:javascript
复制
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位Python2.7.8 Visual Studio2008(我了解到这是运行Python的最佳Visual Studio包)R 3.1.1 PypeR 1.1.2

EN

回答 1

Stack Overflow用户

发布于 2014-11-26 02:37:22

我想你的例子来自这里:http://www.jstatsoft.org/v35/c02/paper

该文章发表于2010年,很可能对应于v1.0 https://pypi.python.org/pypi/PypeR/1.0

您可以按如下方式安装pyper v.1.0。

代码语言:javascript
复制
pip uninstall pyper
pip install pyper==1.0

也就是说,您可以通过执行以下操作在当前版本(1.1.2)中获得相同的结果:

代码语言:javascript
复制
>>> r = R()
>>> outputs = r.("a <- 3; print(a+5)")
>>> outputs
'try({a <- 3; print(a+5)})\n[1] 8\n'

在1.0版本中,结果是:

代码语言:javascript
复制
>>> outputs = runR('a <- 3; print(a+5)')
>>> outputs
'try({a <- 3; print(a+5)})\n[1] 8\n'
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25860352

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档