У меня есть функция класса (назовем ее "alpha.py"), которая использует многопроцессорность (processes=2) для разветвления процесса и является частью пакета Python, который я написал. В отдельном скрипте Python (назовем его «beta.py») я создал экземпляр объекта из этого класса и вызвал соответствующую функцию, использующую многопроцессорность. Наконец, все это заключено в Python-скрипт-оболочку (назовем его «gamma.py»), который обрабатывает множество различных объектов и функций класса.
По сути:
- Запустите ./gamma.py из командной строки.
- gamma.py использует подпроцесс и выполняет beta.py
- beta.py создает экземпляр объекта из класса alpha.py и вызывает функцию, которая использует многопроцессорность (processes=2)
У него нет проблем с запуском на Mac или Linux. Однако это становится проблемой на компьютере с Windows, и ошибка (и документация) предполагает, что я должен написать это где-нибудь:
if __name__ == '__main__':
freeze_support()
В этом другом сообщении также упоминается то же самое.
Однако я точно не знаю, где должны находиться эти две строки. В настоящее время ни alpha.py, ни beta.py, ни gamma.py не содержат раздела if __name__ == '__main__':
. Было бы здорово, если бы кто-нибудь сказал мне, куда должны идти эти две строки, а также их обоснование.