2015-12-15 5 views
1

Я новичок в Python, но не новичок в программировании (в основном C и Java). У меня есть то, что кажется полной проблемой новичков в отношении простого импорта модуля. У меня есть следующие:python не может найти атрибут модуля

edutil.py:

def parse_seq(basename: str) -> int: 
    return 0 

myprog.py:

import edutil 

class ImageFile(object): 
    def __init__(self, basename: str) 
     self.base = basename 
     self.seq = edutil.parse_seq(self.base) 

Там больше кода, конечно, но это часть проблемы. Когда я пытаюсь выполнить свою программу, я получаю:

AttributeError: модуль «edutil» не имеет атрибута «parse_seq»

Я не понимаю, почему это происходит. Большинство проблем с импортом, по-видимому, связаны с круговыми зависимостями, но в этом случае их нет, так как edutil.py не (в настоящее время) ничего не импортирует.

Может ли это быть связано с моим использованием setuputils? Я обязательно включил файл edutil.py в нужное место в setup.py и даже перезапустил команду «pip install», чтобы быть уверенным.

+2

Попробуйте положить 'print (edutil .__ file __)' там и посмотреть, является ли печатный путь тем местом, где вы ожидаете, что будет edutil. Возможно, у вас есть что-то еще по имени edutil? – BrenBarn

+0

Это все содержимое файлов 'edutil.py' и' myprog.py'? Там может возникнуть какая-то проблема с циклическим импортом. – user2357112

+0

Как вы выполняете программу? – Gewthen

ответ

-1

Добавить

print(edutil.__file__) 

к вашему myprog.py и проверить, если вы используете правильную версию модуля.

Смежные вопросы