25.5. IDLE¶
源代码: Lib/idlelib/
IDLE 是 Python 的集成开发和学习环境。
IDLE 具有以下特性:
- 使用
tkinter
GUI 工具包,100% 纯 Python 代码编写 - 跨平台:在 Windows,Unix 和 Mac OS X 上工作大致相同
- Python shell 窗口(交互式解释器),带有代码输入,输出和错误消息高亮显示
- 多窗口文本编辑器与多重撤消,Python 代码高亮,智能缩进,调用提示,自动完成和其他功能
- 在任何窗口中搜索,在编辑器窗口中替换,以及搜索多个文件(grep)
- 调试器具有持久断点的,步进和查看全局和本地命名空间
- 配置,浏览器和其他对话框
25.5.3. Startup and code execution¶
使用-s
选项启动时,IDLE将执行环境变量 IDLESTARTUP
或 PYTHONSTARTUP
。IDLE首先检查IDLESTARTUP
;如果出现IDLESTARTUP
,则引用的文件将运行。如果IDLESTARTUP
不存在,IDLE将检查PYTHONSTARTUP
。这些环境变量引用的文件是存储从IDLE shell中频繁使用的函数或执行import语句以导入公共模块的便利位置。
此外,Tk
还会加载启动文件(如果存在)。注意,无条件地加载Tk文件。此附加文件为.Idle.py
,并在用户的主目录中找到。此文件中的语句将在Tk命名空间中执行,因此此文件对于从IDLE的Python shell导入要使用的函数不是有用的。
25.5.3.1. Command line usage¶
idle.py [-c command] [-d] [-e] [-h] [-i] [-r file] [-s] [-t title] [-] [arg] ...
-c command run command in the shell window
-d enable debugger and open shell window
-e open editor window
-h print help message with legal combinatios and exit
-i open shell window
-r file run file in shell window
-s run $IDLESTARTUP or $PYTHONSTARTUP first, in shell window
-t title set title of shell window
- run stdin in shell (- must be last option before args)
如果有参数:
- If
-
,-c
, orr
is used, all arguments are placed insys.argv[1:...]
andsys.argv[0]
is set to''
,'-c'
, or'-r'
. 不打开编辑器窗口,即使它是“选项”对话框中的默认设置。 - 否则,参数是打开以供编辑的文件,而
sys.argv
反映传递给IDLE本身的参数。
25.5.3.2. IDLE-console differences¶
尽可能地,使用IDLE执行Python代码的结果与在控制台窗口中执行相同的代码相同。但是,不同的接口和操作偶尔会影响可见的结果。对于实例,sys.modules
以更多条目开头。
IDLE还用从Shell窗口获取输入和将输出发送到Shell窗口的对象替换sys.stdin
,sys.stdout
和sys.stderr
。当这个窗口有焦点时,它控制键盘和屏幕。这通常是透明的,但直接访问键盘和屏幕的功能将不起作用。If sys
is reset with importlib.reload(sys)
, IDLE’s changes are lost and things li ke input
, raw_input
, and print
will not work correctly.
使用IDLE的Shell,一个进入,编辑,并召回完整的语句。有些控制台一次只能使用一条物理线路。
25.5.3.3. Running without a subprocess¶
默认情况下,IDLE通过套接字在单独的子进程中执行用户代码,该套接字使用内部回送接口。此连接不是外部可见的,并且没有数据发送到Internet或从Internet接收。如果防火墙软件反正,你可以忽略它。
如果尝试使套接字连接失败,Idle将通知您。这种故障有时是暂时的,但如果是持久的,问题可能是防火墙阻塞连接或特定系统的配置错误。直到问题解决,可以使用-n命令行开关运行Idle。
如果IDLE使用-n命令行开关启动,它将在单个进程中运行,并且不会创建运行RPC Python执行服务器的子进程。如果Python无法在您的平台上创建子进程或RPC套接字接口,这将非常有用。但是,在此模式下,用户代码不与IDLE本身隔离。此外,当选择运行/运行模块(F5)时,不会重新启动环境。如果您的代码已被修改,您必须重新载入()受影响的模块,并重新导入任何特定项目(例如从foo import baz)如果更改生效。由于这些原因,如果可能,最好使用默认子进程运行IDLE。
自3.4版起已弃用。
25.5.4. Help and preferences¶
25.5.4.1. Additional help sources¶
IDLE包括一个称为“Python文档”的帮助菜单条目,将打开包含教程的广泛帮助源,可从docs.python.org获取。所选的URL可以随时使用“配置IDLE”对话框从帮助菜单中添加或删除。有关详细信息,请参阅IDLE帮助菜单中的IDLE帮助选项。
25.5.4.2. Setting preferences¶
可以通过选项菜单上的配置IDLE更改字体首选项,突出显示,键和常规首选项。键可以由用户定义; IDLE附带四个内置的密钥集。此外,用户可以在“配置IDLE”对话框的“键”选项卡下创建自定义键集。
25.5.4.3. Extensions¶
IDLE包含扩展设施。扩展的扩展可以使用配置扩展进行更改。有关更多信息,请参阅idlelib目录中config-extensions.def的开头。默认扩展名当前为:
- FormatParagraph
- 自动展开
- ZoomHeight
- 脚本绑定
- 呼叫提示
- ParenMatch
- 自动完成
- CodeContext
- RstripExtension