Относительный импорт в миллиардный раз ⇐ Python
Относительный импорт в миллиардный раз
Я был здесь:
[*]PEP 328 – Импорт: многострочный и абсолютный/относительный [*]Модули, пакеты [*]Пакеты Python: относительный импорт [*]Пример кода относительного импорта Python не работает [*]Относительный импорт в Python 2.5 [*]Относительный импорт в Python [*]Python: отключение относительного импорта
и множество URL-адресов, которые я не копировал, некоторые на SO, некоторые на других сайтах, когда я думал, что смогу быстро найти решение.
Вечно возникающий вопрос: как мне решить проблему с сообщением «Попытка относительного импорта не в пакете»?
Ошибка импорта: попытка относительного импорта без известного родительского пакета
Я создал точную копию пакета на pep-0328:
пакет/ __init__.py подпакет1/ __init__.py модульX.py модульY.py субпакет2/ __init__.py модульZ.py модульA.py Импорт был выполнен из консоли.
Я создал функции с именами спам и яйца в соответствующих модулях. Естественно, это не сработало. Ответ, очевидно, находится в четвертом URL-адресе, который я перечислил, но для меня это все выпускники. На одном из посещенных мной URL-адресов был такой ответ:
Относительный импорт использует атрибут имени модуля для определения положения этого модуля в иерархии пакетов. Если имя модуля не содержит никакой информации о пакете (например, для него установлено значение «main»), то относительный импорт разрешается так, как если бы модуль был модулем верхнего уровня, независимо от того, где он фактически находится в файловой системе. Приведенный выше ответ выглядит многообещающе, но для меня это всего лишь иероглифы. Как мне сделать так, чтобы Python не возвращал мне «Попытка относительного импорта не в пакете»? У него есть ответ, который, предположительно, включает -m.
Почему Python выдает такое сообщение об ошибке? Что значит «без упаковки»? Почему и как вы определяете «пакет»?
Я был здесь:
[*]PEP 328 – Импорт: многострочный и абсолютный/относительный [*]Модули, пакеты [*]Пакеты Python: относительный импорт [*]Пример кода относительного импорта Python не работает [*]Относительный импорт в Python 2.5 [*]Относительный импорт в Python [*]Python: отключение относительного импорта
и множество URL-адресов, которые я не копировал, некоторые на SO, некоторые на других сайтах, когда я думал, что смогу быстро найти решение.
Вечно возникающий вопрос: как мне решить проблему с сообщением «Попытка относительного импорта не в пакете»?
Ошибка импорта: попытка относительного импорта без известного родительского пакета
Я создал точную копию пакета на pep-0328:
пакет/ __init__.py подпакет1/ __init__.py модульX.py модульY.py субпакет2/ __init__.py модульZ.py модульA.py Импорт был выполнен из консоли.
Я создал функции с именами спам и яйца в соответствующих модулях. Естественно, это не сработало. Ответ, очевидно, находится в четвертом URL-адресе, который я перечислил, но для меня это все выпускники. На одном из посещенных мной URL-адресов был такой ответ:
Относительный импорт использует атрибут имени модуля для определения положения этого модуля в иерархии пакетов. Если имя модуля не содержит никакой информации о пакете (например, для него установлено значение «main»), то относительный импорт разрешается так, как если бы модуль был модулем верхнего уровня, независимо от того, где он фактически находится в файловой системе. Приведенный выше ответ выглядит многообещающе, но для меня это всего лишь иероглифы. Как мне сделать так, чтобы Python не возвращал мне «Попытка относительного импорта не в пакете»? У него есть ответ, который, предположительно, включает -m.
Почему Python выдает такое сообщение об ошибке? Что значит «без упаковки»? Почему и как вы определяете «пакет»?
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение