Windows 에서는 원래 multiprocessing 를 사용하지 못하나요?
글쓴이: sauron / 작성시간: 일, 2015/12/27 - 7:13오전
python 3.5 를 Windows 에서 사용 중입니다. 근데 왜 아래 코드가 에러가 날까요. Linux 에서는 전혀 이상이 없던데...
from multiprocessing import Process def f(name): print('hello', name); if __name__ == '__main__': p = Process(target=f, args=('bob',)) p.start() p.join()
에러 메시지는 아래와 같습니다. 3.4 에서도 에러가 나고, 32bit, 64bit python 실행 파일을 사용해도 에러가 납니다.
Traceback (most recent call last):
File "", line 1, in
File "C:\Program Files (x86)\Python 3.5\lib\multiprocessing\spawn.py", line 10
6, in spawn_main
exitcode = _main(fd)
File "C:\Program Files (x86)\Python 3.5\lib\multiprocessing\spawn.py", line 11
6, in _main
self = pickle.load(from_parent)
AttributeError: Can't get attribute 'f' on
Forums:
저도 확인해보니.
윈도우XP 32비트입니다.
------------------------------------------
웹 사이트 - 여기는 되네요.
https://www.python.org/
http://ideone.com/ syntax highlight 체크 해제해야 떼다 붙이기 됩니다.
------------------------------------------
cygwin 에서도 됩니다.
------------------------------------------
여기는 안됩니다.
http://codepad.org/
------------------------------------------
윈도우 Python 2.4 에서는 모듈이 없다고 합니다.
Traceback (most recent call last):
File "C:\cygwin\home\shint\python\multi.py", line 1, in ?
from multiprocessing import Process
ImportError: No module named multiprocessing
New in version 2.6.
확인해보면. Python 2.6버전에서 된다고. 하는거 같습니다.
https://docs.python.org/2/library/multiprocessing.html
그런데. 찾아보니. 다운로드 파일이 있네요.
multiprocessing 2.6.2.1
https://pypi.python.org/pypi/multiprocessing/#downloads
multiprocessing-2.6.2.1.win32-py2.4.exe (md5)
Traceback (most recent call last):
File "C:\cygwin\home\shint\python\multi.py", line 8, in ?
p.start()
File "C:\Python24\Lib\site-packages\multiprocessing\process.py", line 108, in start
from multiprocessing.forking import Popen
File "C:\Python24\Lib\site-packages\multiprocessing\forking.py", line 155, in ?
from win32process import TerminateProcess
ImportError: No module named win32process
cygwin 과 python 2.4 를 함께 설치해서 이런 결과가 나오는걸지도 모르겠습니다.
일단. cygwin 에서 잘 되네요.
이거 2개를 설치해야 할거 같기도 합니다.
import Popen
import TerminateProcess
https://pypi.python.org/pypi/popen
C:\Python24\Python.exe setup.py install
오류가 발생하네요.
import TerminateProcess
다운 받는곳을 모르겠네요.
사용하려면. 이래야 할 거 같습니다.
- 윈도우에서 cygwin 사용
- python 2.6 이상에 버전을 사용
- 웹 컴파일러 사용
- virtualbox 에 리눅스 사용
참고로. 윈도우서비스팩'을 설치하려면. 정품인증 CD-KEY가 있어야 합니다.
python 2.4 버전은 윈도우서비스팩'이 없어도 됩니다.
----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.
매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.
각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com
cygwin 에서는...
cygwin 에서 python 을 실행하면 이상없다는 것은 확인하였읍니다. 결국 Windows 에서는 multiporcessing 을 그냥은 사용할 수 없다는 것이네요. 훌쩍훌쩍...
상세한 답변에 너무 감사드려요~~
OS: Windows 7 (64bit) Python
OS: Windows 7 (64bit)
Python 2.7.10 (32bit)
Python 3.4.3 (32bit)
저의 경우는 이상없이 실행되었네요.
헉! 이럴수가...
저도 Windows 7 (64bit)에서 테스트를 했었읍니다. 근데 아무 이상이 없다고 하시니... 뭔가에 홀린 기분인데, 다시 한 번 조사해 봐와되겠네요.
?
http://stackoverflow.com/questions/24466804/multiprocessing-breaks-in-interactive-mode
이런 내용도 있었군요.. 이걸 몰랐으면 나중에 저도
이런 내용도 있었군요..
이걸 몰랐으면 나중에 저도 겪을 수도 있을 내용이네요^^
댓글 달기