Python -> AttributeError: у объекта 'module' нет атрибута 'main'

Я работаю над Raspberry Pi 3 и пытаюсь визуализировать некоторые значения датчиков на Munin. Я использую Python для выполнения сценариев на Munin. Я нашел скрипт для тестирования и пытаюсь его выполнить, но получил следующую ошибку:

Traceback (последний вызов был последним):
Файл "cpu_field", строка 23, в munin.main(). AttributeError: объект 'module' не имеет атрибута 'main'

Это скрипт: https://github.com/CooledCoffee/python-munin/ Конечно, я добавил в начале:

! / usr / bin / env python

Но я не понял, что другие скрипты работают так: https://gist.github.com/tomoconnor/813813

2 ответа

Было бы неплохо, если бы вы могли поставить код в вопросе.

В любом случае. Используемый вами python-munin совершенно другой и не предоставляет функции main() (как он вызывается в строке 23). Имена для модулей Python не защищены, и "munin" является очевидным выбором, используемым более чем одним разработчиком. Первый скрипт должен работать с модулем, который вы получаете

pip install python-munin

Другой скрипт использует этот модуль python-munin, и вы, вероятно, получаете его непосредственно из репозитория git. Они не совместимы.

Итак, это код, который я использую:

> #!/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 python xxx, я получил такой же ответ с помощью sudo munin-run xxx:

   pi@dex:/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'

Я думаю, вы правы, потому что, когда я установил Мунин с

pip install python-munin

это сработало. Но затем я установил этот модуль python-munin, и он больше не работал. Я удалил папку python-munin, но все равно получил ту же ошибку. Как правильно удалить предыдущую папку?

Другие вопросы по тегам