Windows 에서는 원래 multiprocessing 를 사용하지 못하나요?

sauron의 이미지

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

shint의 이미지

윈도우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

sauron의 이미지

cygwin 에서 python 을 실행하면 이상없다는 것은 확인하였읍니다. 결국 Windows 에서는 multiporcessing 을 그냥은 사용할 수 없다는 것이네요. 훌쩍훌쩍...

상세한 답변에 너무 감사드려요~~

Anti-Lock의 이미지

OS: Windows 7 (64bit)
Python 2.7.10 (32bit)
Python 3.4.3 (32bit)
저의 경우는 이상없이 실행되었네요.

sauron의 이미지

저도 Windows 7 (64bit)에서 테스트를 했었읍니다. 근데 아무 이상이 없다고 하시니... 뭔가에 홀린 기분인데, 다시 한 번 조사해 봐와되겠네요.

익명 사용자의 이미지

Anti-Lock의 이미지

이런 내용도 있었군요..
이걸 몰랐으면 나중에 저도 겪을 수도 있을 내용이네요^^

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.