2012-10-10 1 views
4

문제점이 있으며 문제점을 파악할 수 없습니다. 임베디드 코드 (디버그하려고하는 3.2 문서의 가장 간단한 샘플 코드)는 대상 함수를 실행하지 않습니다. 프로세스가 완료되고 오류없이 프로그램을 가져오고 실행하면 Python 3.2가 올바르게 설치되고 디렉토리가 경로 환경 변수에 추가됩니다. 나는 IDLE에서 f5를 사용하여 프로그램을 실행하고 있으며 다른 모든 비트는 완벽하게 작동하지만 대상 함수 'f'(이 경우) 내의 코드는 간단히 실행되지 않습니다. 당신이 이해할 수 있듯이, 이것은 suuuuper 좌절입니다. 이 코드는 인쇄되지 않으며 대상 함수 (모든 함수뿐만 아니라) 내의 모든 테스트 인쇄는 단순히 실행되지 않습니다. 단순히 건너 뛴다.Python 3.2 다중 처리. 목표 기능을 실행하지 않는 프로세스

#!/usr/bin/env python 
from multiprocessing import Process 

def f(name): 
    print('hello', name) 

if __name__ == '__main__': 
    p = Process(target=f, args=('bob',)) 
    p.start() 

의견이 있으십니까? Windows 7 시스템에서 Python 3.2를 실행 중이며 다중 처리가 Python 2.7을 사용하여 내 시스템에서 성공적으로 실행되었습니다 (프로젝트에서 3.2로 개발해야 함). 죄송합니다. 내가 생각하기에 문제가 될 수있는 간단한 문제로 미안하지만, Python이 패키지를 확실히 인식하고 있기 때문에이 작업을 수행하기 위해해야 ​​할 일이 무엇인지, Google의 솔루션을 찾을 수 없었습니다. 잘못 철자하면 실패 함); 그것은 단지 올바르게 행동하지 않습니다. 어떤 도움이나 조언을 주셔서 감사합니다 !!

+1

IDLE ... –

+0

@BlaXpirit 외부에서 스크립트를 실행 해보십시오. 실제로는 작동합니다 (많이 감사드립니다!).하지만 디버깅/피드백 목적에는별로 도움이되지 않습니다. 아마도 그것을 고칠 시간 낭비와 나는 유휴 사용을 중지해야하지만 아마도 내가 다루지 않을 더 깊은 문제가 있을지 모르겠다? – mikeybaby173

+1

이것은 IDLE의 알려진 문제점 인 것 같습니다 : http://www.prodigyproductionsllc.com/articles/programming/multiprocessing-bug-with-windows-and-python-idle/. 멀티 프로세싱을 사용해야하는 경우 더 나은 IDE를 조사해 보는 것이 좋습니다. –

답변

2

다중 처리와 IDLE이 잘 작동하지 않습니다. 유휴 상태에서 실행되는지 확인하십시오. 그렇다면 유능합니다.

직접 IDE를 사용하지 않으므로 다른 사람이 당신을 제공 할 수는 없지만 간단한 유용한 방법은 print입니다. 디버깅을 할 수 있습니다.

관련 문제