首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将pyRserve与Python连接

如何将pyRserve与Python连接
EN

Stack Overflow用户
提问于 2016-05-13 03:40:59
回答 2查看 1.7K关注 0票数 5

我需要在iPython中连接pyRserve,但尝试连接时出现错误。这就是错误。

代码语言:javascript
复制
conn = pyRserve.connect()

这就是我得到的:

代码语言:javascript
复制
RConnectionRefused: Connection denied, server not reachable or not accepting connections.

在pyrserve手册中提供了纠正这个问题的建议,但是我不知道我需要做什么。这就是建议(注)

注意:当应该打开到Rserve的远程连接,而pyRserve无法连接到它时,Rserve很可能只侦听它自己的内部网络连接。要强制Rserve接受来自其他计算机的连接,请创建一个名为/etc/Rserv.conf的文件,并至少添加以下行: remote enable,然后重新启动Rserve。

因此,我需要知道如何在python中实现注释和连接Rserve。

谢谢大家

EN

回答 2

Stack Overflow用户

发布于 2016-12-03 06:29:49

在R中(使用3.3.2)

代码语言:javascript
复制
install.packages(‘Rserve’)
library(Rserve)
Rserve()    # the actual server you will be calling from python

运行Rserve()后,您应该会看到以下内容,表明R服务器正在运行:正在启动Rserve..."C:\Users\bkeith\Desktop\R-33~1.2\library\Rserve\libs\x64\Rserve.exe“

在Python中

代码语言:javascript
复制
import pyReserve
conn = pyRserve.connect()  # the connection to R

print conn
>> <Handle to Rserve on localhost:####>

一旦打印出来,你就可以开始使用库了。

别忘了关闭你的连接,要检查它你可以使用conn.isClosed:

代码语言:javascript
复制
conn.shutdown()

以下是库中的一些示例:

Ex.1 -基本语法

代码语言:javascript
复制
conn.eval(‘2+4’) #basic eval
>> 6.0

Ex.2 -从python到R的列表

代码语言:javascript
复制
a = [1,2,3,4]   #python list
conn.r.a = a    #the R variable is named a as well 
print conn.r.a 
>>[1,2,3,4]     #the R list is now in python as well

Ex.3 -R中的函数

代码语言:javascript
复制
conn.voidEval(‘two <- function(x){ x * 2}’) #declare the function
conn.eval(‘two(9)’)   #use the function
>> 18.0
票数 5
EN

Stack Overflow用户

发布于 2016-09-19 04:16:44

我之前遇到了完全相同的问题,并能够通过安装Rserve来解决它,确保您从他们的网站下载文件并运行以下代码:

代码语言:javascript
复制
R CMD INSTALL [Rserve_1.8-0.tar.gz] #put in the file name

然后,在终端中运行此命令时:

代码语言:javascript
复制
R CMD Rserve

应该有消息表明r处于守护进程模式,然后从那里运行conn = pyRserve.connect()应该没有问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37196056

复制
相关文章

相似问题

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