2014-06-20 1 views
4

아래 코드는 code.py 파일에 있습니다. 파일을 편집하려면 IDLE을 사용하고 있습니다. 내가 Run>Run Module을 클릭하면 나는 오류 얻을 :IDLE 하위 프로세스 시작 오류

"IDLE's subprocess didn't make connection. Either IDLE can't start a subprocess of personal firewall software is blocking the connection."

나는 윈도우 7 얼티밋 64 비트를 사용하고,하지만 나는 설치된 파이썬 2.7의 32 비트 버전이 있습니다.

나는이 사이트와 다른 사이트의 솔루션을 찾았지만 모두 tkinter.py (이게 뭔지는 모르겠다)을 삭제하거나 내 방화벽을 끄는 것이 좋습니다. 방화벽이 아닌 Microsoft Security Essentials)

#Globals 
#------------------- 

x_pad = 476 
y_pad = 444 

import ImageGrab 
import os 
import time 
import win32api, win32con 

def screenGrab(): 
    box = (x_pad+1,y_pad+1,x_pad+641,y_pad+480) 
    im = ImageGrab.grab(box) 
    im.save(os.getcwd() + '\\full_snap__' + str(int(time.time())) + 
'.png', 'PNG') 

def main(): 
    pass 

if __name__ == '__main__': 
    main() 

def leftClick(): 
    win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN,0,0) 
    time.sleep(.1) 
    win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP,0,0) 
    print 'Click.'   #completely optional. But nice for debugging purposes. 

def leftDown(): 
    win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN,0,0) 
    time.sleep(.1) 
    print 'left Down' 

def leftUp(): 
    win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP,0,0) 
    time.sleep(.1) 
    print 'left release' 

def mousePos(cord): 
    win32api.SetCursorPos((x_pad + cord[0], y_pad + cord[1]) 

def get_cords(): 
    x,y = win32api.GetCursorPos() 
    x = x - x_pad 
    y = y - y_pad 
    print x,y 
+0

IDLE은 한 번 (다른 python 파일과 함께) 작업했거나 처음으로 (컴퓨터에서) 사용 했습니까? –

+0

이 오류는 실행> 모듈 실행을 클릭하는 경우에만 표시됩니다. Python 파일을 두 번 클릭하면 코드가 의도 한대로 실행됩니다. –

+0

질문은 IDLE에 관한 것입니다. IDLE Run/Run 모듈을 통해 다른 파이썬 모듈을 runned 시켰습니까? 그렇지 않다면 IDLE이 핵심 Python 배포판의 일부로 전체 Python을 제거하고 다시 설치하려고 할 수 있습니다. –

답변

1

나는 동일한 문제가있었습니다. 내가 그것을 어떻게했는지는 "C : \ Python33"폴더에서 만든 모든 .py 파일을 "Examples"라는 하위 폴더로 옮기는 것입니다. 내 파일 중 하나가이 문제의 원인 인 것처럼 보입니다.

0

또한 다음과 같은 문제가있었습니다. 내 파일은 code.py라고 이름 붙여졌고 Canopy를 설치하고 numpy를 설치할 때까지 잘 작동했습니다.

파이썬을 다시 설치하려고했지만 문제를 해결 한 것은 단순히 파일의 이름을 바꾸는 것이 었습니다. 내 파일 myCode.py를 호출하여 모든 것이 정상적으로 시작되었습니다. 이상한 문제 ...

4

"python.exe"는 "tkinter.py"에 의해 방해 받고 있습니다 (즉, Tk()로 프로그램을 작성하고 tkinter.py로 이름을지었습니다. python의 루트 폴더에 저장 됨). 그리고 그것은 단지 파이썬의 루트 폴더에 프로그램 파일을 직접 저장하지 않도록합니다.

1

다른 수정 사항 !!! 바라기를 이것은 누군가를 도울 것입니다.

나는 똑같은 문제가있어서 아주 흥미로운 것을 발견했다. 실수로 파일 이름을 "tkinter"(어떤 예약 키워드로 파일 이름을 바꾸면 같은 문제가 발생할 것입니다.)라고 가정합니다. 이 파일을 실행하거나 실행하려고 할 때마다 pycache 폴더가 만들어지고 위에서 언급 한 오류가 발생했습니다. 잘못 명명 된 파이썬 파일을 삭제하면 문제가 해결됩니다.

그래서 예약어 이름을 따서 명명 된 모든 파일 (작업중인 폴더 또는 실제로 루트 폴더)을 찾으십시오. 삭제하십시오. 다행히도 잘될 것입니다!

+0

좋은 답변입니다. "임의"문제가있었습니다. ;) – KFleischer