Pyinstaller多重处理-子进程的名称始终为“ MainProcess”

时间:2018-12-31 18:36:52

标签: python pyinstaller

这是我的测试代码(在Windows上为py 2.7):

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'>

0 个答案:

没有答案