没有IDLE子进程连接

时间:2010-07-19 01:27:09

标签: python macos subprocess

我是python编程的新手,想尝试编写IDLE中的脚本而不是OSX命令行。但是,当我尝试启动它时,它给出了错误“空闲子进程没有建立连接。空闲无法启动子进程或个人防火墙软件阻止连接。”我没有配置防火墙,那么问题是什么呢?

2 个答案:

答案 0 :(得分:2)

您可以尝试使用“-n”选项运行IDLE。来自IDLE帮助:

Running without a subprocess:

    If IDLE is started with the -n command line switch it will run in a
    single process and will not create the subprocess which runs the RPC
    Python execution server.  This can be useful if Python cannot create
    the subprocess or the RPC socket interface on your platform.  However,
    in this mode user code is not isolated from IDLE itself.  Also, the
    environment is not restarted when Run/Run Module (F5) is selected.  If
    your code has been modified, you must reload() the affected modules and
    re-import any specific items (e.g. from foo import baz) if the changes
    are to take effect.  For these reasons, it is preferable to run IDLE
    with the default subprocess if at all possible.

答案 1 :(得分:2)

您没有说您使用的是哪个版本的Python或OS X,但是,如果您尝试使用最近python.org 64位安装程序为Python 2.7安装的IDLE,您几乎肯定会遇到known issue。如错误报告中所述,在解决2.7安装程序的问题之前,2.7的最简单的解决方法是使用the '10.3 and up' installer安装仅32位版本的2.7。

更新:Python 2.7的python.org 64位/ 32位安装程序存在此问题。它已在随后的Python 2.7版本中得到纠正;在撰写本文时,Python 2.7.2是最新的。但是,原始问题的根本原因仍然是Apple在Mac OS X 10.6中提供的Tcl/Tk 8.5版本。要将IDLE或Tkinter与OS X的当前64位Python安装程序一起使用,您需要从ActiveState安装更稳定的Tcl/Tk 8.5。维护的更新详细信息here也是从当前安装程序下载页面链接的。