главный фаил main_.py?(по 2 полосочки с 2 сторон слова)
Магический метод вроде, но это из кода
init нужен, чтобы сделать папку модулем main нужен для запуска с помощью python -m, емнип
1. Чтобы сделать пакет 2. Нет, это нужно чтобы пакет запускать как программу. Возможно лучше сделать entrypoint
2. Вот кстати не совсем. Энтрипоинт и есть "запускать как программу", а вот при наличии __main__.py появляется возможность запуска пакета через python -m Или у нас сейчас спор о терминах?
Ок, так более корректно
1. Кстати, с какой-то версии питона, вроде с 3.0, появилась поддержка неявных пакетов, то есть любая директория может выступать неймспейсом app/ foo/ bar.py bar/ baz.py __init__.py __main__.py from .foo.bar import thing from .bar.baz import another_thing from .bar import yet_another_thing
да, они так и называются namespace packages
Неймспейс пакеты это немного другое чем просто пакеты. В первую очередь они влияют на установку, но могут быть ещё какие-то особенности. Не стоит делать неймспейс пакет если тебе не нужен именно он
Кажется, ты про них писал в канале, не?
Обсуждают сегодня