Упаковка Python: Как пакет определяет, какой исходный модуль является «__main__»? - PullRequest
0 голосов
/ 21 октября 2019

Я пишу пакет 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 ", а также перенес интерфейс интерфейса командной строки и другие функции в этот модуль.

...