pyrrd.exceptions.ExternalCommandError:/ bin / sh:1:rrdtool:not found

时间:2017-03-09 12:11:03

标签: python database python-2.7 rrdtool rrd

from pyrrd.rrd import DataSource, RRA, RRD
filename = 'test.rrd'
dataSources = []
roundRobinArchives = []
dataSource = DataSource(dsName='speed', dsType='COUNTER', heartbeat=600)
dataSources.append(dataSource)
roundRobinArchives.append(RRA(cf='AVERAGE', xff=0.5, steps=1, rows=24))
roundRobinArchives.append(RRA(cf='AVERAGE', xff=0.5, steps=6, rows=10))
myRRD = RRD(filename, ds=dataSources, rra=roundRobinArchives, start=920804400)
myRRD.create()

执行上述代码,会出现此错误

rrdtool create test.rrd --start 920804400 --step 300   DS:speed:COUNTER:600:U:U RRA:AVERAGE:0.5:1:24 RRA:AVERAGE:0.5:6:10
Traceback (most recent call last):
File "test.py", line 10, in <module>
 myRRD.create()
File "build/bdist.linux-x86_64/egg/pyrrd/rrd.py", line 175, in create
File "build/bdist.linux-x86_64/egg/pyrrd/backend/external.py", line 49, in create
File "build/bdist.linux-x86_64/egg/pyrrd/backend/external.py", line 21, in _cmd
pyrrd.exceptions.ExternalCommandError: /bin/sh: 1: rrdtool: not found

我是rrd工具的新手。请帮我解决这个问题。提前谢谢。

1 个答案:

答案 0 :(得分:0)

您已经描述了两种创建rrd文件的方法:一种是通过python包pyrrd,另一种是使用名为rrdtool的命令行工具。

您不需要同时使用两者 - 如果您想使用python脚本创建文件,只需像常规脚本一样运行它。

当您使用apt-get(在ubuntu上)下载pyrrd时,它也会下载cmd工具,而如果您使用pip下载它,它只会下载python包。

由于在我的环境中使用你的代码工作(没有特殊的PYTHONPATH配置),我认为你有一些安装问题,尝试重新安装或单独安装cmd工具。