Модуль пакета не найден в Python 2.5, но найден в 2.6 - PullRequest
0 голосов
/ 16 февраля 2010

У меня есть структура пакета, которая выглядит следующим образом:

  • ае
    • Util

util содержит метод mkdir (dir) , который при заданном пути создает каталог. Если каталог существует, ошибка не выдается; метод молчит неудачно.

Каталог ae и его родительский каталог находятся на моей PYTHONPATH. Когда я пытаюсь использовать этот метод в Python 2.6 , все в порядке. Однако Python 2.5 выдает следующую ошибку:

util.mkdir(SOURCES)
    AttributeError: 'module' object has no attribute 'mkdir'

Почему Python 2.6 может без проблем найти этот модуль и его метод, но Python 2.5 не может?

Ответы [ 3 ]

2 голосов
/ 16 февраля 2010

Возможно, Python 2.5 обращается к другой версии util, у которой нет метода mkdir.

1 голос
/ 16 февраля 2010
  • ты import ae.util или import util? Либо ae, либо его родительский каталог должен быть в PYTHONPATH, но не оба
  • убедитесь, что у вас есть правильный util модуль, запустив print util (распечатает исходный файл модуля)
0 голосов
/ 16 февраля 2010

Зависит от того, где вы вызываете этот метод и каков ваш импорт. Если пишешь:

from ae import util
util.mkdir(SOURCES)

все должно быть в порядке.

Ошибка возникает, вероятно, из-за различий в политике импорта между Python 2.5 и 2.6.

...