Содержание страницы
25.5. IDLE¶
Исходный код: Lib/idlelib/
IDLE – это интегрированная среда разработки и обучения Python.
IDLE имеет следующие возможности:
- написан на 100% чистом Python с использованием GUI-тулкита
tkinter - кроссплатформенность: работает почти одинаково на Windows, Unix и Mac OS X
- окно оболочки Python (интерактивный интерпретатор) с цветовой подсветкой вводимого кода, вывода и сообщений об ошибках
- многооконный текстовый редактор с множественной отменой, подсветкой синтаксиса Python, умными отступами, подсказками вызова, автозавершением и другими функциями
- поиск в любом окне, замена в окнах редактора и поиск по нескольким файлам (grep)
- отладчик с постоянными точками останова, пошаговым выполнением и просмотром глобального и локального пространства имён
- настройки, обозреватели и другие диалоговые окна
25.5.3. Запуск и выполнение кода¶Startup and code execution
При запуске с опцией -s IDLE выполняет файл, на который ссылаются переменные среды IDLESTARTUP или PYTHONSTARTUP. IDLE сначала проверяет IDLESTARTUP; если IDLESTARTUP присутствует, запускается указанный файл. Если IDLESTARTUP отсутствует, IDLE проверяет PYTHONSTARTUP. Файлы, на которые ссылаются эти переменные среды, удобно использовать для хранения функций, часто используемых из Shell IDLE, или для выполнения операторов импорта общих модулей.
Кроме того, Tk также загружает файл запуска, если он существует. Обратите внимание, что Tk-файл загружается безусловно. Этот дополнительный файл – .Idle.py, он ищется в домашнем каталоге пользователя. Операторы в этом файле будут выполняться в пространстве имён Tk, поэтому этот файл не подходит для импорта функций, используемых из Python Shell IDLE.
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 combinations 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)
Если есть аргументы:
- Если используется
-,-cилиr, все аргументы помещаются вsys.argv[1:...], аsys.argv[0]устанавливается в'','-c'или'-r'. Окно редактора не открывается, даже если это выбрано по умолчанию в диалоге Options. - В противном случае аргументы являются файлами, открытыми для редактирования, и
sys.argvотражает аргументы, переданные самому IDLE.
25.5.3.2. Различия между IDLE и консолью¶IDLE-console differences
Насколько это возможно, результат выполнения Python-кода в IDLE совпадает с
результатом выполнения того же кода в окне консоли. Однако различия
в интерфейсе и работе иногда влияют на видимые результаты. Например,
sys.modules начинается с большего количества записей.
IDLE также заменяет sys.stdin, sys.stdout и sys.stderr на
объекты, которые получают ввод из окна Shell и отправляют вывод в него.
Когда это окно находится в фокусе, оно управляет клавиатурой и экраном.
Обычно это незаметно, но функции, напрямую обращающиеся к клавиатуре
и экрану, работать не будут. Если sys сброшен с помощью importlib.reload(sys),
изменения IDLE теряются, и такие вещи, как input, raw_input и
print, перестанут работать корректно.
В оболочке IDLE можно вводить, редактировать и вызывать полные инструкции.
Некоторые консоли работают только с одной физической строкой за раз. IDLE использует
exec для выполнения каждой инструкции. В результате '__builtins__' всегда
определена для каждой инструкции.
25.5.3.3. Запуск без подпроцесса¶Running without a subprocess
По умолчанию IDLE выполняет пользовательский код в отдельном подпроцессе через сокет, использующий внутренний интерфейс loopback. Это соединение не видно извне, и никакие данные не отправляются и не принимаются из Интернета. Если брандмауэр всё равно выдаёт предупреждение, его можно игнорировать.
Если попытка установить сокетное соединение не удаётся, IDLE уведомит вас. Такие сбои иногда носят временный характер, но если они постоянны, проблема может заключаться либо в блокировке соединения брандмауэром, либо в неправильной конфигурации конкретной системы. Пока проблема не решена, можно запускать IDLE с ключом командной строки -n.
Если IDLE запущен с ключом командной строки -n, он будет работать в одном процессе и не будет создавать подпроцесс, запускающий RPC-сервер выполнения Python. Это может быть полезно, если Python не может создать подпроцесс или сокетный интерфейс RPC на вашей платформе. Однако в этом режиме пользовательский код не изолирован от самого IDLE. Кроме того, среда не перезапускается при выборе Run/Run Module (F5). Если ваш код был изменён, необходимо выполнить reload() для затронутых модулей и повторно импортировать любые конкретные элементы (например, from foo import baz), чтобы изменения вступили в силу. По этим причинам предпочтительнее запускать IDLE с подпроцессом по умолчанию, если это возможно.
Устарело с версии 3.4.
25.5.4. Справка и настройки¶Help and preferences
25.5.4.1. Дополнительные источники справки¶Additional help sources
IDLE включает пункт меню справки под названием «Python Docs», который открывает обширные источники справки, включая учебные пособия, доступные на docs.python.org. Выбранные URL-адреса можно в любое время добавлять или удалять из меню справки с помощью диалогового окна Configure IDLE. Для получения дополнительной информации см. пункт справки IDLE в меню справки IDLE.
25.5.4.2. Настройка параметров¶Setting preferences
Настройки шрифта, подсветки, клавиш и общие настройки можно изменить через Configure IDLE в меню Option. Клавиши можно определять пользовательски; IDLE поставляется с четырьмя встроенными наборами клавиш. Кроме того, пользователь может создать пользовательский набор клавиш в диалоге Configure IDLE на вкладке keys.
25.5.4.3. Расширения¶Extensions
IDLE содержит механизм расширений. Настройки расширений можно изменить с помощью Configure Extensions. Для получения дополнительной информации см. начало файла config-extensions.def в каталоге idlelib. Текущие расширения по умолчанию:
- FormatParagraph
- AutoExpand
- ZoomHeight
- ScriptBinding
- CallTips
- ParenMatch
- AutoComplete
- CodeContext
- RstripExtension