IDLE

Исходный код: Lib/idlelib/.


IDLE - это интегрированная среда разработки и обучения Python.

IDLE имеет следующие характеристики:

  • написан на 100% чистом Python с использованием инструментария графического интерфейса tkinter

  • кроссплатформенность: работает в основном одинаково в Windows, Unix и macOS

  • Окно оболочки Python (интерактивный интерпретатор) с цветовым оформлением ввода, вывода кода и сообщений об ошибках

  • многооконный текстовый редактор с функциями отмены, раскраски Python, умного отступа, подсказок, автоматического завершения и другими возможностями

  • поиск в любом окне, замена в окнах редактора и поиск в нескольких файлах (grep)

  • отладчик с постоянными точками останова, степпингом и просмотром глобальных и локальных пространств имен

  • конфигурация, браузеры и другие диалоговые окна

Редактирование и навигация

Окна редактора

IDLE может открывать окна редактора при запуске, в зависимости от настроек и способа запуска IDLE. После этого используйте меню Файл. Для данного файла может быть открыто только одно окно редактора.

Строка заголовка содержит имя файла, полный путь и версию Python и IDLE, запущенных в окне. Строка состояния содержит номер строки („Ln“) и номер столбца („Col“). Номера строк начинаются с 1, номера столбцов - с 0.

IDLE предполагает, что файлы с известным расширением .py* содержат код Python, а другие файлы - нет. Запуск кода Python осуществляется с помощью меню Run.

Связывание клавиш

В этом разделе «C» означает клавишу Control в Windows и Unix и клавишу Command в macOS.

  • Backspace удаляет влево; Del удаляет вправо

  • C-Backspace удалить слово слева; C-Del удалить слово справа

  • Клавиши со стрелками и Page Up/Page Down для передвижения

  • C-LeftArrow и C-RightArrow перемещаются по словам

  • Home/End переход к началу/концу строки

  • C-Home/C-End перейти к началу/концу файла

  • Некоторые полезные привязки Emacs унаследованы от Tcl/Tk:

    • C-a начало строки

    • C-e конец строки

    • C-k убить строку (но не помещает ее в буфер обмена)

    • C-l центрировать окно вокруг точки вставки

    • C-b вернуться на один символ назад без удаления (обычно для этого можно также использовать клавишу управления курсором)

    • C-f перейдите на один символ вперед без удаления (обычно для этого можно также использовать клавишу управления курсором)

    • C-p перейдите на одну строку вверх (обычно для этого также используется клавиша управления курсором)

    • C-d удалить следующий символ

Стандартные привязки клавиш (например, C-c для копирования и C-v для вставки) могут работать. Связки клавиш выбираются в диалоге Configure IDLE.

Автоматический отступ

После оператора, открывающего блок, следующая строка отступает на 4 пробела (в окне Python Shell на одну табуляцию). После некоторых ключевых слов (break, return и т.д.) следующая строка вычитается. При опережающем отступе, Backspace удаляет до 4 пробелов, если они есть. Tab вставляет пробелы (в окне Python Shell одна вкладка), количество зависит от ширины отступа. В настоящее время табуляция ограничена четырьмя пробелами из-за ограничений Tcl/Tk.

См. также команды региона отступа/отступа на Format menu.

Поиск и замена

Любое выделение становится целью поиска. Однако работают только выделения в пределах строки, поскольку поиск выполняется только в строках с удаленной конечной новой строкой. Если установлен флажок [x] Regular expresion, цель интерпретируется в соответствии с модулем Python re.

Завершения

Завершения предоставляются, если они запрошены и доступны, для имен модулей, атрибутов классов или функций, или имен файлов. Каждый метод запроса отображает поле завершения с существующими именами. (Исключение см. ниже в разделе Завершения вкладок). Для любого поля можно изменить имя, которое заполняется, и элемент, выделенный в поле, набирая и удаляя символы; нажимая клавиши Up, Down, PageUp, PageDown, Home и End; и одним щелчком мыши внутри поля. Закройте поле клавишами Escape, Enter и двойным Tab или щелчком вне поля. Двойной щелчок внутри поля выбирает и закрывает поле.

Один из способов открыть окно - набрать символ клавиши и подождать заданный интервал времени. По умолчанию этот интервал равен 2 секундам; настройте его в диалоговом окне настроек. (Чтобы предотвратить автоматическое всплывание, установите задержку на большое число миллисекунд, например 100000000). Для импортированных имен модулей или атрибутов классов и функций введите „.“. Для имен файлов в корневом каталоге введите os.sep или os.altsep сразу после открывающей кавычки. (В Windows можно сначала указать диск.) Для перехода в подкаталоги введите имя каталога и разделитель.

Вместо того чтобы ждать или после закрытия окна, откройте окно завершения сразу с помощью Show Completions в меню Edit. По умолчанию используется горячая клавиша C-space. Если ввести префикс для нужного имени до открытия окна, то будет видно первое совпадение или близкий промах. Результат тот же, что и при вводе префикса после открытия окна. Показать завершения после кавычки завершает имена файлов в текущем каталоге, а не в корневом.

Нажатие Tab после префикса обычно имеет тот же эффект, что и «Показать завершения». (Однако если префикс совпадает с префиксом только один раз, он немедленно добавляется в текст редактора без открытия окна.

Вызов „Show Completions“ или нажатие Tab после префикса, вне строки и без предшествующего „.“ открывает окно с ключевыми словами, встроенными именами и доступными именами на уровне модуля.

При редактировании кода в редакторе (в отличие от Shell), увеличьте доступные имена уровня модуля, запустив код и не перезапуская после этого Shell. Это особенно полезно после добавления импорта в верхней части файла. Это также увеличивает возможные дополнения к атрибутам.

Окна завершения изначально исключают имена, начинающиеся с „_“ или, для модулей, не включенные в „__all__“. Доступ к скрытым именам можно получить, набрав „_“ после „.“ до или после открытия поля.

Calltips

Подсказка отображается автоматически, если после имени доступной функции набрать (. Выражение имени функции может включать точки и подстрочные символы. Подсказка остается до тех пор, пока ее не щелкнут, курсор не будет перемещен из области аргументов или не будет набрано ). Когда курсор находится в аргументной части определения, выберите в меню пункт Edit и «Show Call Tip» или введите его ярлык, чтобы отобразить подсказку.

Подсказка состоит из сигнатуры функции и doc-строки до первой пустой строки или пятой непустой строки. (Некоторые встроенные функции не имеют доступной сигнатуры). „/“ или „*“ в сигнатуре означает, что предыдущий или последующий аргументы передаются только по позиции или имени (ключевому слову). Детали могут быть изменены.

В Shell доступные функции зависят от того, какие модули были импортированы в пользовательский процесс, включая модули, импортированные самим Idle, и какие определения были запущены, и все это с момента последнего перезапуска.

Например, перезапустите Shell и введите itertools.count(. Появится подсказка, потому что Idle импортирует itertools в пользовательский процесс для собственного использования. (Это может измениться.) Введите turtle.write( и ничего не появится. Idle сам не импортирует черепаху. Пункт меню и ярлык также ничего не дают. Введите import turtle. После этого turtle.write( отобразит подсказку.

В редакторе операторы импорта не имеют никакого эффекта, пока не будет запущен файл. Запуск файла может потребоваться после написания операторов импорта, после добавления определений функций или после открытия существующего файла.

Контекст кода

В окне редактора, содержащем код Python, контекст кода можно переключить, чтобы показать или скрыть панель в верхней части окна. Когда эта панель отображается, она замораживает открывающиеся строки блочного кода, например, начинающиеся с ключевых слов class, def или if, которые в противном случае были бы скрыты из виду. Размер панели будет расширяться и сужаться по мере необходимости, чтобы показать все текущие уровни контекста, вплоть до максимального количества строк, определенного в диалоге Configure IDLE (по умолчанию 15). Если текущих контекстных строк нет, а функция включена, отображается одна пустая строка. Щелчок по строке в контекстной панели переместит эту строку в верхнюю часть редактора.

Цвета текста и фона для контекстной панели можно настроить на вкладке Highlights в диалоговом окне Configure IDLE.

Окно раковины

В оболочке IDLE вводите, редактируйте и вспоминайте полные утверждения. (Большинство консолей и терминалов работают только с одной физической строкой за раз).

Отправьте однострочный оператор на выполнение, нажав Return с курсором в любом месте строки. Если строка расширена обратной косой чертой (\), курсор должен находиться на последней физической строке. Отправьте многострочный составной оператор, введя пустую строку после оператора.

Когда человек вставляет код в Shell, он не компилируется и, возможно, не выполняется, пока он не нажмет Return, как указано выше. Можно сначала отредактировать вставленный код. Если вставить в Shell более одного утверждения, то результатом будет SyntaxError, когда несколько утверждений компилируются как одно.

Строки, содержащие RESTART, означают, что процесс выполнения пользователя был перезапущен. Это происходит в случае сбоя процесса выполнения, запроса перезапуска в меню Shell или при выполнении кода в окне редактора.

Функции редактирования, описанные в предыдущих подразделах, работают при интерактивном вводе кода. Окно Shell программы IDLE также реагирует на следующие клавиши.

  • C-c прерывает выполнение команды

  • C-d посылает конец файла; закрывает окно, если набирается в строке >>>

  • Alt-/ (Расширить слово) также полезно для сокращения набора текста

    История команд

    • Alt-p извлекает предыдущую команду, соответствующую набранной вами. В macOS используйте C-p.

    • Alt-n извлекает следующий. В macOS используйте C-n.

    • Return, когда курсор находится на любой предыдущей команде, извлекает эту команду

Цвета текста

По умолчанию в Idle используется черный цвет на белом тексте, но текст со специальными значениями может быть окрашен. Для оболочки это вывод оболочки, ошибка оболочки, вывод пользователя и ошибка пользователя. Для кода Python в приглашении оболочки или в редакторе это ключевые слова, имена встроенных классов и функций, имена, следующие за class и def, строки и комментарии. Для любого текстового окна это курсор (когда он присутствует), найденный текст (когда это возможно) и выделенный текст.

IDLE также выделяет soft keywords match, case и _ в операторах сопоставления шаблонов. Однако эта подсветка не совершенна и в некоторых редких случаях, включая некоторые _-s в шаблонах case, будет некорректной.

Раскрашивание текста происходит в фоновом режиме, поэтому незакрашенный текст иногда виден. Чтобы изменить цветовую схему, используйте вкладку Configure IDLE dialog Highlighting. Маркировка линий точек останова отладчика в редакторе и текста во всплывающих окнах и диалогах не настраивается пользователем.

Запуск и выполнение кода

При запуске с опцией -s IDLE выполнит файл, на который ссылаются переменные окружения IDLESTARTUP или PYTHONSTARTUP. Сначала IDLE проверяет наличие IDLESTARTUP; если IDLESTARTUP присутствует, то запускается файл, на который ссылается переменная. Если IDLESTARTUP отсутствует, IDLE проверяет наличие PYTHONSTARTUP. Файлы, на которые ссылаются эти переменные окружения, являются удобным местом для хранения функций, которые часто используются из оболочки IDLE, или для выполнения операторов импорта для импорта общих модулей.

Кроме того, Tk также загружает файл запуска, если он есть. Обратите внимание, что файл Tk загружается безусловно. Этот дополнительный файл .Idle.py ищется в домашнем каталоге пользователя. Утверждения в этом файле будут выполняться в пространстве имен Tk, поэтому этот файл не полезен для импорта функций, которые будут использоваться из оболочки Python в IDLE.

Использование командной строки

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.

Сбой запуска

IDLE использует сокет для связи между процессом IDLE GUI и процессом выполнения пользовательского кода. Соединение должно быть установлено при каждом запуске или перезапуске оболочки. (Последнее обозначается разделительной линией с надписью „RESTART“). Если пользовательскому процессу не удается установить соединение с процессом GUI, он обычно выводит окно ошибки Tk с сообщением «невозможно установить соединение», которое направляет пользователя сюда. Затем он завершает работу.

Один конкретный случай отказа соединения на Unix-системах возникает из-за неправильно настроенных правил маскарада где-то в сетевых настройках системы. При запуске IDLE с терминала появляется сообщение, начинающееся с ** Invalid host:. Правильным значением является 127.0.0.1 (idlelib.rpc.LOCALHOST). Можно диагностировать с помощью tcpconnect -irv 127.0.0.1 6543 в одном окне терминала и tcplisten <same args> в другом.

Частой причиной сбоя является написанный пользователем файл с тем же именем, что и модуль стандартной библиотеки, например random.py и tkinter.py. Когда такой файл находится в том же каталоге, что и файл, который планируется запустить, IDLE не может импортировать файл stdlib. Текущее исправление заключается в переименовании пользовательского файла.

Хотя это случается реже, чем в прошлом, антивирусная программа или брандмауэр могут остановить соединение. Если программу нельзя научить разрешать соединение, то для работы IDLE ее необходимо отключить. Разрешение этого внутреннего соединения безопасно, поскольку никакие данные не видны на внешних портах. Аналогичной проблемой является неправильная конфигурация сети, которая блокирует соединения.

Проблемы с установкой Python иногда останавливают работу IDLE: несколько версий могут конфликтовать, или для одной установки может потребоваться доступ администратора. Если отменить столкновение, или не удается или не хочется запускать от имени администратора, проще всего полностью удалить Python и начать все сначала.

Зомби-процесс pythonw.exe может быть проблемой. В Windows используйте диспетчер задач, чтобы проверить его наличие и остановить, если он есть. Иногда перезапуск, инициированный сбоем программы или прерыванием клавиатуры (control-C), может привести к невозможности подключения. Отключение окна ошибки или использование команды Restart Shell в меню Shell может устранить временную проблему.

При первом запуске IDLE пытается прочитать файлы конфигурации пользователя в ~/.idlerc/ (~ - домашний каталог пользователя). При возникновении проблемы должно появиться сообщение об ошибке. Если не принимать во внимание случайные сбои на диске, это можно предотвратить, никогда не редактируя файлы вручную. Вместо этого используйте диалог конфигурации в разделе «Параметры». Если в файле конфигурации пользователя обнаружена ошибка, лучшим решением будет удалить его и начать работу с диалогового окна настроек.

Если IDLE завершает работу без сообщения, и он не был запущен из консоли, попробуйте запустить его из консоли или терминала (python -m idlelib) и посмотрите, приведет ли это к появлению сообщения об ошибке.

На системах на базе Unix с tcl/tk старше 8.6.11 (см. About IDLE) некоторые символы определенных шрифтов могут вызвать сбой tk с сообщением на терминал. Это может произойти либо при запуске IDLE для редактирования файла с таким символом, либо позже при вводе такого символа. Если нет возможности обновить tcl/tk, то переконфигурируйте IDLE так, чтобы использовать шрифт, который работает лучше.

Выполнение пользовательского кода

За редким исключением, результат выполнения кода Python с помощью IDLE должен быть таким же, как и при выполнении того же кода методом по умолчанию, непосредственно с помощью Python в текстовом режиме системной консоли или окна терминала. Однако различие в интерфейсе и работе иногда влияет на видимые результаты. Например, sys.modules начинается с большего количества записей, а threading.active_count() возвращает 2 вместо 1.

По умолчанию IDLE выполняет пользовательский код в отдельном процессе ОС, а не в процессе пользовательского интерфейса, который запускает оболочку и редактор. В процессе выполнения он заменяет sys.stdin, sys.stdout и sys.stderr объектами, которые получают входные данные из окна Shell и отправляют выходные данные в него. Исходные значения, хранящиеся в sys.__stdin__, sys.__stdout__ и sys.__stderr__, не трогаются, но могут быть None.

Отправка вывода печати из одного процесса на текстовый виджет в другом процессе происходит медленнее, чем печать на системный терминал в том же процессе. Это наиболее заметно при печати нескольких аргументов, поскольку строка для каждого аргумента, каждый разделитель и новая строка отправляются отдельно. Для разработки это обычно не проблема, но если хочется печатать быстрее в IDLE, отформатируйте и объедините все, что хотите вывести вместе, а затем выведите одну строку. Как строки форматирования, так и str.join() могут помочь объединить поля и строки.

Стандартные замены потоков IDLE не наследуются подпроцессами, созданными в процессе выполнения, будь то непосредственно пользовательский код или модули, такие как мультипроцессинг. Если такой подпроцесс использует input из sys.stdin или print или write в sys.stdout или sys.stderr, IDLE следует запускать в окне командной строки. (В Windows используйте python или py, а не pythonw или pyw.) Затем вторичный подпроцесс будет присоединен к этому окну для ввода и вывода.

Если sys сбрасывается кодом пользователя, например, с помощью importlib.reload(sys), изменения IDLE теряются, и ввод с клавиатуры и вывод на экран будут работать некорректно.

Когда Shell имеет фокус, он управляет клавиатурой и экраном. Обычно это прозрачно, но функции, которые напрямую обращаются к клавиатуре и экрану, работать не будут. К ним относятся специфические для системы функции, которые определяют, была ли нажата клавиша, и если да, то какая.

Код IDLE, запущенный в процессе выполнения, добавляет в стек вызовов кадры, которых в противном случае там бы не было. IDLE обертывает sys.getrecursionlimit и sys.setrecursionlimit, чтобы уменьшить влияние дополнительных кадров стека.

Когда пользовательский код вызывает SystemExit либо напрямую, либо вызовом sys.exit, IDLE возвращается к приглашению Shell вместо выхода.

Пользовательский вывод в Shell

Когда программа выводит текст, результат определяется соответствующим устройством вывода. Когда IDLE выполняет пользовательский код, sys.stdout и sys.stderr подключаются к области отображения оболочки IDLE. Некоторые из его возможностей унаследованы от базового виджета Tk Text. Другие являются программными дополнениями. Там, где это важно, Shell предназначен скорее для разработки, чем для серийного использования.

Например, Shell никогда не выбрасывает выводимые данные. Программа, посылающая в Shell неограниченное количество вывода, в конце концов заполнит память, что приведет к ошибке памяти. В отличие от этого, некоторые системные текстовые окна сохраняют только последние n строк вывода. Например, консоль Windows сохраняет от 1 до 9999 строк, настраиваемых пользователем, по умолчанию 300.

Виджет Tk Text, а значит и оболочка IDLE, отображает символы (кодовые точки) в подмножестве BMP (Basic Multilingual Plane) Юникода. Какие символы отображаются с соответствующим глифом, а какие - с заменяющей его рамкой, зависит от операционной системы и установленных шрифтов. Символы табуляции заставляют следующий текст начинаться после следующей остановки табуляции. (Они встречаются через каждые 8 «символов»). Символы новой строки приводят к появлению следующего текста на новой строке. Другие управляющие символы игнорируются или отображаются как пробел, рамка или что-то еще, в зависимости от операционной системы и шрифта. (Перемещение текстового курсора по такому выводу с помощью клавиш со стрелками может привести к неожиданному поведению интервалов).

>>> s = 'a\tb\a<\x02><\r>\bc\nd'  # Enter 22 chars.
>>> len(s)
14
>>> s  # Display repr(s)
'a\tb\x07<\x02><\r>\x08c\nd'
>>> print(s, end='')  # Display s as is.
# Result varies by OS and font.  Try it.

Функция repr используется для интерактивного эха значений выражения. Она возвращает измененную версию входной строки, в которой управляющие коды, некоторые кодовые точки BMP и все не-BMP кодовые точки заменены на коды экранирования. Как было показано выше, это позволяет идентифицировать символы в строке, независимо от того, как они отображаются.

Нормальный вывод и вывод ошибок обычно хранятся отдельно (на отдельных строках) от ввода кода и друг от друга. Они выделяются разными цветами.

Для трассировки ошибок SyntaxError обычная метка „^“, обозначающая место обнаружения ошибки, заменяется выделением текста цветом ошибки. Когда код, запущенный из файла, вызывает другие исключения, можно щелкнуть правой кнопкой мыши на строке трассировки, чтобы перейти к соответствующей строке в редакторе IDLE. При необходимости файл будет открыт.

Shell имеет специальное средство для сжатия выводимых строк до метки „Сжатый текст“. Это делается автоматически при выводе более N строк (по умолчанию N = 50). N можно изменить в разделе PyShell на странице Общие диалогового окна Настройки. Вывод с меньшим количеством строк можно сжать, щелкнув правой кнопкой мыши на выводе. Это может быть полезно для строк достаточной длины, чтобы замедлить прокрутку.

Сжатый вывод разворачивается на месте двойным щелчком по метке. Его также можно отправить в буфер обмена или в отдельное окно просмотра, щелкнув по метке правой кнопкой мыши.

Разработка приложений tkinter

IDLE намеренно отличается от стандартного Python, чтобы облегчить разработку tkinter-программ. Введите import tkinter as tk; root = tk.Tk() в стандартном Python, и ничего не появится. Введите то же самое в IDLE, и появится окно tk. В стандартном Python, чтобы увидеть окно, нужно также ввести root.update(). IDLE делает то же самое в фоновом режиме, примерно 20 раз в секунду, то есть примерно каждые 50 миллисекунд. Далее введите b = tk.Button(root, text='button'); b.pack(). Опять же, в стандартном Python ничего заметно не изменится, пока не будет введено root.update().

Большинство программ tkinter запускают root.mainloop(), который обычно не возвращается до тех пор, пока приложение tk не будет уничтожено. Если программа запущена с python -i или из редактора IDLE, приглашение оболочки >>> не появляется до возвращения mainloop(), после чего не остается ничего, с чем можно было бы взаимодействовать.

При запуске программы tkinter из редактора IDLE можно закомментировать вызов mainloop. Тогда сразу же появляется приглашение оболочки и можно взаимодействовать с живым приложением. Нужно только не забыть снова включить вызов mainloop при выполнении в стандартном Python.

Запуск без подпроцесса

По умолчанию IDLE выполняет пользовательский код в отдельном подпроцессе через сокет, который использует внутренний интерфейс loopback. Это соединение не видно извне, и никакие данные не отправляются в Интернет и не принимаются из него. Если программное обеспечение брандмауэра все равно жалуется, вы можете игнорировать это.

Если попытка установить сокетное соединение не удалась, Idle сообщит вам об этом. Такие сбои иногда преходящи, но если они продолжаются, то проблема может заключаться либо в брандмауэре, блокирующем соединение, либо в неправильной конфигурации конкретной системы. Пока проблема не устранена, можно запускать Idle с ключом командной строки -n.

Если IDLE запускается с ключом командной строки -n, он будет работать в одном процессе и не будет создавать подпроцесс, который запускает сервер выполнения RPC Python. Это может быть полезно, если Python не может создать подпроцесс или интерфейс сокета RPC на вашей платформе. Однако в этом режиме пользовательский код не изолирован от самой IDLE. Кроме того, среда не перезапускается при выборе Run/Run Module (F5). Если ваш код был изменен, вы должны перезагрузить() затронутые модули и повторно импортировать любые специфические элементы (например, from foo import baz), чтобы изменения вступили в силу. По этим причинам предпочтительнее запускать IDLE с подпроцессом по умолчанию, если это вообще возможно.

Не рекомендуется, начиная с версии 3.4.

Помощь и предпочтения

Источники помощи

Пункт меню Help «IDLE Help» отображает отформатированную html-версию главы IDLE Справочника по библиотеке. Результат в текстовом окне tkinter, доступном только для чтения, близок к тому, что можно увидеть в веб-браузере. Перемещайтесь по тексту с помощью колеса мыши, полосы прокрутки или клавиш со стрелками вверх и вниз. Или нажмите кнопку TOC (Оглавление) и выберите заголовок раздела в открывшемся окне.

Пункт меню «Python Docs» открывает обширные источники справки, включая учебники, доступные по адресу docs.python.org/x.y, где „x.y“ - текущая версия Python. Если в вашей системе есть автономная копия документации (это может быть опцией установки), она будет открыта вместо этого.

Выбранные URL-адреса могут быть добавлены или удалены из меню справки в любое время с помощью вкладки Общие диалогового окна Настройка IDLE.

Настройка предпочтений

Настройки шрифта, подсветки, клавиш и общие настройки можно изменить через Configure IDLE в меню Option. Настройки пользователя, не установленные по умолчанию, сохраняются в каталоге .idlerc в домашнем каталоге пользователя. Проблемы, вызванные плохими пользовательскими конфигурационными файлами, решаются путем редактирования или удаления одного или нескольких файлов в каталоге .idlerc.

На вкладке Шрифт посмотрите образец текста, чтобы увидеть влияние начертания и размера шрифта на несколько символов на разных языках. Отредактируйте образец, чтобы добавить другие символы, представляющие личный интерес. Используйте образец для выбора моноширинного шрифта. Если с определенными символами возникают проблемы в Shell или редакторе, добавьте их в начало образца и попробуйте изменить сначала размер, а затем шрифт.

На вкладке Выделения и ключи выберите встроенную или пользовательскую цветовую тему и набор ключей. Чтобы использовать более новую встроенную цветовую тему или набор ключей в старых IDLE, сохраните ее как новую пользовательскую тему или набор ключей, и она будет доступна для старых IDLE.

IDLE на macOS

В разделе Системные настройки: Dock можно установить значение «Предпочитать вкладки при открытии документов» на «Всегда». Эта настройка не совместима с графическим интерфейсом tk/tkinter, используемым IDLE, и ломает несколько функций IDLE.

Расширения

IDLE содержит средства расширения. Предпочтения для расширений можно изменить с помощью вкладки Extensions диалогового окна предпочтений. Дополнительную информацию смотрите в начале файла config-extensions.def в каталоге idlelib. Единственным текущим расширением по умолчанию является zzdummy, пример которого также используется для тестирования.

idlelib

Исходный код: Lib/idlelib.


Пакет Lib/idlelib реализует приложение IDLE. О том, как использовать IDLE, читайте на остальной части этой страницы.

Файлы в idlelib описаны в idlelib/README.txt. Доступ к нему можно получить либо в idlelib, либо нажав Help => About IDLE в меню IDLE. Этот файл также сопоставляет пункты меню IDLE с кодом, который реализует этот пункт. За исключением файлов, перечисленных в разделе „Startup“, код idlelib является „приватным“ в том смысле, что изменения функций могут быть перенесены обратно (см. PEP 434).

Вернуться на верх