首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > perl python >

大侠请留步!py2exe 封装后的程序运行出错(多进程)

2012-07-27 
大侠请留步!!!py2exe 打包后的程序运行出错(多进程)以下是python代码,起两个进程。Python code#process.pyi

大侠请留步!!!py2exe 打包后的程序运行出错(多进程)
以下是python代码,起两个进程。

Python code
#process.pyimport multiprocessingimport osimport sysdef worker():        print 'worker'def main():        processes = []                for i in range(2):                p = multiprocessing.Process(target=worker )                processes.append(p)        for i in range(2):                processes[i].start()        for i in range(2):                processes[i].join()if __name__ == '__main__':        main()


Python code
#########################################以下是打包文件代码:#setup.pyfrom distutils.core import setupimport py2exesetup(    console=[{"script": "process.py"}])


运行打包后的程序,报以下错误,且起了几个进程,就会报以下几个相同的错误,是不由多进程引起的,请问该如何修改?
Traceback (most recent call last):
  File "process.py", line 19, in <module>
  File "process.py", line 14, in main
  File "multiprocessing\process.pyc", line 104, in start
  File "multiprocessing\forking.pyc", line 220, in __init__
  File "multiprocessing\forking.pyc", line 320, in get_command_line
RuntimeError:
  Attempt to start a new process before the current process
  has finished its bootstrapping phase.

  This probably means that you are on Windows and you have
  forgotten to use the proper idiom in the main module:

  if __name__ == '__main__':
  freeze_support()
  ...

  The "freeze_support()" line can be omitted if the program
  is not going to be frozen to produce a Windows executable.


[解决办法]
报错讯息不是告诉你应该调用freeze_support(),照着做试试先...

热点排行