我正在使用R 2.7.2和python 2.6.6并在centos 6.7上下载了rpy2-2.7.6。我试图用多种方式在centos上安装ryp2。
python setup.py build --r-home=/usr/lib64/R/lib install
pip install ryp2
遇到常见错误:
Error: Tried to guess R's HOME but no command (R) in the PATH " .
除此之外,我还添加了PATH以及.bashrc
中具有R_home和R bin路径的LD_LIBRARY_PATH。
仍然得到同样的错误。请帮我解决这个问题。
答案 0 :(得分:2)
以下工作在RHEL6上,它仍在运行Python 2.6。为了让rpy2安装脚本找到R,我们需要将Python 2.7中的一些代码复制到rpy2的安装文件中。
运行后
import subprocess
if "check_output" not in dir( subprocess ): # duck punch it in!
def f(*popenargs, **kwargs):
if 'stdout' in kwargs:
raise ValueError('stdout argument not allowed, it will be overridden.')
process = subprocess.Popen(stdout=subprocess.PIPE, *popenargs, **kwargs)
output, unused_err = process.communicate()
retcode = process.poll()
if retcode:
cmd = kwargs.get("args")
if cmd is None:
cmd = popenargs[0]
raise subprocess.CalledProcessError(retcode, cmd)
return output
subprocess.check_output = f
如你所描述的那样失败,输出告诉我们在哪里寻找下载的代码(例如/ tmp / pip-build-meuser / rpy2 /)
访问该文件夹并编辑setup.py 在第一个“def”行之前添加以下代码:
pip install --upgrade -v --user rpy2
保存文件。现在再次尝试你的pip安装线;它应该工作。
供参考,该来源来自https://hg.python.org/cpython/file/d37f963394aa/Lib/subprocess.py#l544 解决方案来自一个类似的问题,subprocess.check_output() doesn't seem to exist (Python 2.6.5)
如果您恰好在没有root访问权限的服务器上运行,则可能使用安装命令
$(function () {
/**
* Load new data depending on the selected min and max
*/
function afterSetExtremes(e) {
var chart = $('#container').highcharts();
chart.showLoading('Loading data from server...');
$.getJSON('https://www.highcharts.com/samples/data/from-sql.php?start=' + Math.round(e.min) +
'&end=' + Math.round(e.max) + '&callback=?', function (data) {
chart.series[0].setData(data);
chart.hideLoading();
});
}
// See source code from the JSONP handler at https://github.com/highcharts/highcharts/blob/master/samples/data/from-sql.php
$.getJSON('https://www.highcharts.com/samples/data/from-sql.php?callback=?', function (data) {
// Add a null value for the end date
data = [].concat(data, [[Date.UTC(2011, 9, 14, 19, 59), null, null, null, null]]);
// create the chart
$('#container').highcharts('StockChart', {
chart : {
type: 'candlestick',
zoomType: 'x'
},
navigator : {
adaptToUpdatedData: false,
series : {
data : data
}
},
scrollbar: {
liveRedraw: false
},
title: {
text: 'AAPL history by the minute from 1998 to 2011'
},
subtitle: {
text: 'Displaying 1.7 million data points in Highcharts Stock by async server loading'
},
rangeSelector : {
buttons: [{
type: 'hour',
count: 1,
text: '1h'
}, {
type: 'day',
count: 1,
text: '1d'
}, {
type: 'month',
count: 1,
text: '1m'
}, {
type: 'year',
count: 1,
text: '1y'
}, {
type: 'all',
text: 'All'
}],
inputEnabled: false, // it supports only days
selected : 4 // all
},
xAxis : {
events : {
afterSetExtremes : afterSetExtremes
},
minRange: 3600 * 1000 // one hour
},
yAxis: {
floor: 0
},
series : [{
data : data,
dataGrouping: {
enabled: false
}
}]
});
});
将最新的rpy2安装到您的本地(用户)帐户。其他一切都是一样的。
答案 1 :(得分:0)
为什么在安装软件包时使用pip,如下所示:
sudo apt-get update
sudo apt-get install python-rpy2