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, но все равно получил ту же ошибку. Как правильно удалить предыдущую папку?