【发布时间】:2011-03-17 17:12:12
【问题描述】:
我是 python 编程的新手,想尝试在 IDLE 而不是 OSX 命令行中编辑脚本。但是,当我尝试启动它时,它给了我错误“空闲子进程没有建立连接。空闲无法启动子进程或个人防火墙软件阻止了连接。”我没有配置防火墙,请问是什么问题?
【问题讨论】:
标签: python macos subprocess
我是 python 编程的新手,想尝试在 IDLE 而不是 OSX 命令行中编辑脚本。但是,当我尝试启动它时,它给了我错误“空闲子进程没有建立连接。空闲无法启动子进程或个人防火墙软件阻止了连接。”我没有配置防火墙,请问是什么问题?
【问题讨论】:
标签: python macos subprocess
您可以尝试使用“-n”选项运行 IDLE。来自 IDLE 帮助:
在没有子进程的情况下运行: 如果 IDLE 使用 -n 命令行开关启动,它将在 单个进程,不会创建运行 RPC 的子进程 Python 执行服务器。如果 Python 无法创建,这将很有用 平台上的子进程或 RPC 套接字接口。然而, 在这种模式下,用户代码不与 IDLE 本身隔离。此外,该 选择运行/运行模块 (F5) 时不会重新启动环境。如果 您的代码已被修改,您必须 reload() 受影响的模块和 如果发生更改,请重新导入任何特定项目(例如从 foo import baz) 将生效。由于这些原因,最好运行 IDLE 如果可能的话,使用默认的子进程。【讨论】:
您没有说您使用的是哪个版本的 Python 或 OS X,但是,如果您尝试使用由 Python 2.7 的最新 python.org 64 位安装程序安装的 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 维护,它也与当前的安装程序下载页面链接。
【讨论】: