IDLE子进程启动错误

时间:2014-06-20 11:30:39

标签: python python-2.7 python-idle

我将以下代码放在名为code.py的文件中。我正在使用IDLE来编辑文件。当我点击Run>Run Module时出现错误:

  

“IDLE的子进程没有建立连接。无论是IDLE都无法启动   个人防火墙软件的子进程正在阻止连接。“

我使用的是Windows 7 Ultimate 64bit,但我安装了32位版本的Python 2.7。

我已经在这个网站和其他网站上寻找解决方案,但他们似乎都建议删除名为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

6 个答案:

答案 0 :(得分:4)

事情是" python.exe"被你创建的" tkinter.py")所阻碍(即,你用Tk()编写了一个程序并将其命名为tkinter.py并将其保存在python的根文件夹中)。而这只是确保您不会将任何程序文件直接保存在python的根文件夹中。

答案 1 :(得分:2)

另一个修复!希望这会对某人有所帮助。

我有同样的问题,并注意到一些非常有趣的事情。我不小心命名了一个文件(在我工作的桌面文件夹里面)" tkinter" (如果你用任何保留的关键字重命名文件,它会导致同样的问题,我猜)。每次我运行或尝试运行此文件时,它都会创建一个pycache文件夹,并且上面提到的错误出现了。删除错误命名的python文件解决了这个问题。

所以 - 查找以任何保留字命名的任何文件(在您正在使用的文件夹中或实际上是根文件夹)。删除它们。希望它能够发挥作用!

答案 2 :(得分:1)

我遇到了同样的问题。我做了什么解决了它,是将我在“C:\ Python33”文件夹中创建的每个.py文件移动到我命名为“Examples”的子文件夹。好像我的一个文件是这个问题的原因。

答案 3 :(得分:0)

我也有以下问题。我的文件名为code.py,工作正常,直到我安装了Canopy,并且numpy。

我尝试重新安装python,但是为我解决问题的只是重命名文件。我调用了我的文件myCode.py,一切正常。奇怪的问题......

答案 4 :(得分:0)

我制作了一个 python 文件并将其命名为“socket.py”,然后 python IDLE 在启动时显示一个错误,即“启动失败” 所以问题是,如果我们使用 python 保留关键字或模块名称作为我们的 python 文件名,它与内置模块冲突。 解决方案是:转到路径 C:\Users\sony\AppData\Local\Programs\Python\Python38,其中保存了您的 Python 文件并重命名了该文件。 然后开始空闲。

答案 5 :(得分:-1)

很高兴在python36和Windows10下连续使用IDLE,它突然在我正在处理的所有程序上出现此错误,而没有创建新文件。
我终止了IDLE,并尝试使用idle.bat重新启动它,但是它不再起作用。 幸运的是,我已经能够使用Lib \ idlelib \ idle.pyw成功地重新启动它。 我最近所有的程序都在那里,它们可以再次运行而没有问题。 无需重新安装python。