7
은 "sys.modules에하지, main_name을 main_name을 주장"Windows에서 파이썬 2.7, 간단한 코드가 다음의 모든 멀티 프로세싱 예
from multiprocessing import Process, freeze_support
def foo():
print 'hello'
if __name__ == '__main__':
freeze_support()
p = Process(target=foo)
p.start()
그것은 파이썬 3.3 Linux 또는 Windows에서 잘 작동하지만 실패 Python 2.7이 설치된 Windows.
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "c:\Python27\lib\multiprocessing\forking.py", line 346, in main
prepare(preparation_data)
File "c:\Python27\lib\multiprocessing\forking.py", line 454, in prepare
assert main_name not in sys.modules, main_name
AssertionError: thread
일반적으로 말하자면, 모든 다중 처리 예제는 해당 설정에서 실패했습니다. 왜?
이 내용은 2.7.11에서 수정 될 예정입니다. - https://hg.python.org/cpython/rev/5d88c1d413b9/ –
@techtonik 실마리를 가져 주셔서 감사합니다. 'multiprocessing' 모듈이 <2.7.10 버전에서 사용할 수 없다는 것을 의미합니까? – Zelong
@Zelong을 사용할 수 있지만이 경우 올바르게 작동하지 않을 수 있습니다. –