2016-12-02 11 views
1

나는 라스베리 파이 3에서 작업 중이며 Munin의 일부 센서 값을 시각화하려고합니다. 나는 Munin에서 스크립트를 실행하기 위해 Python을 사용하고 있습니다. 나는 테스트 스크립트를 발견하고 나는 그것을 실행하려고하지만 다음과 같은 오류 있어요 :이 스크립트Python -> AttributeError : 'module'객체에 'main'속성이 없습니다.

Traceback (most recent call last):
File "cpu_field", line 23, in munin.main() AttributeError: 'module' object has no attribute 'main'

:

!/usr/bin/env python

: 물론 https://github.com/CooledCoffee/python-munin/ , 나는 처음에 추가를

하지만, 내가 이해하지 못했던 것은 다른 스크립트가 다음과 같이 작동한다는 것입니다. https://gist.github.com/tomoconnor/813813

답변

0

질문에 코드를 넣을 수 있다면 좋겠습니까? 잘.

어쨌든. 당신이 사용하는 python-munin은 완전히 다르며, main() 함수를 제공하지 않습니다 (23 행에서 호출 됨). 파이썬 모듈의 이름은 보호되지 않으며 'munin'은 둘 이상의 개발자가 사용하는 분명한 선택입니다. 모듈로 실행해야합니다 첫 번째 스크립트는

pip install python-munin 

로 얻을 다른 스크립트는 this python-munin module를 사용하고, 당신은 아마 자식 저장소에서 직접 얻을. 호환되지 않습니다.

+0

코드 또는 오른쪽/거짓이 없습니다. 사용할 모듈을 결정하고 일치하는 코드를 작성/사용해야합니다. 그렇게 혼동 할 수는 없습니다. –

0

그래서, 이것은 내가 사용하고있는 코드입니다 :

[email protected]:/etc/munin/plugins $ sudo python first 
    Traceback (most recent call last): 
     File "first", line 24, in <module> 
     munin.main() 
    AttributeError: 'module' object has no attribute 'main' 
:

> #!/usr/bin/env python 
> 
> import munin 
> 
> category = 'system' fields = [ 
>  'load1', 
>  'load5', 
>  'load15', ] vlabel = 'load' 
> 
> def values(): 
>  with open('/proc/loadavg') as f: 
>   data = f.read() 
>  load1, load5, load15 = [float(s) for s in data.split()[:3]] 
>  return { 
>   'load1': load1, 
>   'load5': load5, 
>   'load15': load15, 
>  } 
> 
> if __name__ == '__main__': 
>  munin.main() 

이 내가 sudo는 파이썬 XXX로 얻은 대답은가, 나 sudo는 munin-실행 XXX와 같은 대답을 얻었다

내가 너와 함께 무닌을 설치할 때

pip install python-munin 

이 작동했기 때문에 내가 옳았다. 하지만 그때 나는이 python-munin module을 설치했고 더 이상 작동하지 않았다. python-munin 폴더를 제거했지만 여전히 동일한 오류가 발생합니다. previous folder을 올바르게 제거하려면 어떻게해야합니까?