У объекта Python 'Module' нет ошибки атрибута - импортированный модуль

У меня проблема с импортом и использованием модулей dnspython или easyzone для Python в моем проекте Django. Я также пробовал этот сценарий за пределами DJango с той же проблемой, так что я уверен, что проблема не связана с фреймворком.

У меня есть простой скрипт, который откроет и проанализирует файл зоны для записей DNS внутри. У меня нет проблем с импортом модулей easyzone или dns, но когда я пытаюсь получить доступ к любому из методов внутри, я получаю эту ошибку:

Traceback (most recent call last):
    File "fabfile.py", line 6, in <module>
    z = easyzone.zone_from_file('example.com', '/var/namedb/example.com')
AttributeError: 'module' object has no attribute 'zone_from_file'

Я установил dnspython и легко установить с помощью easy_install без проблем. Я могу импортировать модули в верхней части моего скрипта без ошибок, он даже показывает мне путь к библиотеке в помощнике IDE. Но при попытке доступа к каким-либо методам в easyzone или dns я получаю сообщение об ошибке, также при завершении кода в IDE не будет перечисляться ни один из методов, из-за чего я буду думать, что это проблема пути или как я их импортирую.

Вот мой код, где он терпит неудачу:

import os
import csv
import easyzone
import dns

z = easyzone.zone_from_file('example.com', '/var/namedb/example.com')

Заглянув внутрь модуля в коде, я ясно вижу, что эти методы существуют, что я делаю неправильно, чтобы не иметь к ним доступ?

1 ответ

Решение

Вам необходимо исправить импорт; с домашней страницы разработчика исходного кода:

from easyzone import easyzone
z = easyzone.zone_from_file('example.com', '/var/namedb/example.com')
Другие вопросы по тегам