Я пишу пакет Python 3, и мне нужно знать, как python определяет, какой модуль считается " main "? Это что-то, что настроено в setup.py
, или какой-то другой файл? Какой параметр в setup.py
определяет, какой модуль называется __main__
, например, атрибут entry_points
, атрибут packages
или какой-либо другой?
Вот упрощенный примерструктура пакета:
├── AUTHORS.rst
├── HISTORY.rst
├── LICENSE
├── MANIFEST.in
├── README.rst
├── requirements.txt
├── setup.cfg
├── setup.py
├── mypackage
│ ├── cli.py
│ ├── __init__.py
│ ├── mypackage.py
├── tests
│ └── test_mypackage.py
└── tox.in
Так что мне просто нужно узнать, как установить __main__
на модуль mypackage.py
или cli.py
. Как мне на самом деле установить этот параметр?
Причина установки " main " заключается в том, что я использую чужой файл pickle
, и этот файл должен ссылаться на классы, которые находятся вмодуль __main__
. Поэтому мне нужно убедиться, что я установил модуль, в котором происходит открепление, как модуль " main ", а также перенес интерфейс интерфейса командной строки и другие функции в этот модуль.