Многопроцессорная обработка Pyinstaller - имя дочернего процесса всегда "MainProcess" - PullRequest
0 голосов
/ 31 декабря 2018

Вот мой тестовый код (py 2.7 в Windows):

import multiprocessing

print multiprocessing.current_process().name
print type(multiprocessing.current_process())
print type(multiprocessing.current_process().name)

def main():
    pass

if __name__ == "__main__":
    multiprocessing.freeze_support()
    p = multiprocessing.Process(target=main, name="My Child Process")
    p.start()

Без компиляции код работает нормально, поскольку он печатает

MainProcess
<class 'multiprocessing.process._MainProcess'>
<type 'str'>
My Child Process
<class 'multiprocessing.process._MainProcess'>
<type 'str'>

После использования на нем pyinstaller, к сожалению,он всегда будет по умолчанию «MainProcess».Результат выглядит следующим образом:

MainProcess
<class 'multiprocessing.process._MainProcess'>
<type 'str'>
MainProcess
<class 'multiprocessing.process._MainProcess'>
<type 'str'>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...