25.5. IDLE¶
Code source : Lib/idlelib/
IDLE est l’environnement de développement et d’apprentissage intégré de Python (Integrated Development and Learning Environment).
IDLE a les fonctionnalités suivantes :
- codé à 100% en pur Python, en utilisant l’outil d’interfaçage graphique
tkinter
- cross-platform: works mostly the same on Windows, Unix, and Mac OS X
- Console Python (interpréteur interactif) avec coloration du code entré, des sorties et des messages d’erreur
- éditeur de texte multi-fenêtres avec annulations multiples, coloration Python, indentation automatique, aide pour les appels de fonction, autocomplétion, parmi d’autres fonctionnalités
- recherche dans n’importe quelle fenêtre, remplacement dans une fenêtre d’édition et recherche dans des fichiers multiples (grep)
- débogueur avec points d’arrêt persistants, pas-à-pas et visualisation des espaces de nommage locaux et globaux
- configuration, navigateur et d’autres fenêtres de dialogue
25.5.3. Démarrage et exécution du code¶
Quand il est démarré avec l’option -s
, IDLE exécutera le fichier référencé par la variable d’environnement IDLE*STARTUP
ou PYTHONSTARTUP
. IDLE cherche d’abord IDLESTARTUP
; si IDLESTARTUP
est présent, le fichier référencé est exécuté. Si IDLESTARTUP
n’est pas présent, alors IDLE cherche PYTHONSTARTUP
. Les fichiers référencés par ces variables d’environnement sont de bons endroits pour stocker des fonctions qui sont utilisées fréquemment depuis la console d”IDLE ou pour exécuter des commandes d’importation des modules communs.
De plus, Tk
charge lui aussi un fichier de démarrage s’il est présent. Notez que le fichier de Tk est chargé sans condition. Ce fichier additionnel est .Idle.py
et est recherché dans le dossier personnel de l’utilisateur. Les commandes dans ce fichier sont exécutées dans l’espace de nommage de Tk, donc ce fichier n’est pas utile pour importer des fonctions à utiliser depuis la console Python d”IDLE.
25.5.3.1. Utilisation de la ligne de commande¶
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)
S’il y a des arguments :
- Si
-
,-c
ou-r
sont utilisés, tous les arguments sont placés danssys.argv[1:...]
etsys.argv[0]
est assigné à “”`,'-c'
, ou'-r'
. Aucune fenêtre d’édition n’est ouverte, même si c’est le comportement par défaut fixé dans la fenêtre d’options. - Sinon, les arguments sont des fichiers ouverts pour édition et
sys.argv
reflète les arguments passés à IDLE lui-même.
25.5.3.2. IDLE-console differences¶
As much as possible, the result of executing Python code with IDLE is the
same as executing the same code in a console window. However, the different
interface and operation occasionally affect visible results. For instance,
sys.modules
starts with more entries.
IDLE also replaces sys.stdin
, sys.stdout
, and sys.stderr
with
objects that get input from and send output to the Shell window.
When this window has the focus, it controls the keyboard and screen.
This is normally transparent, but functions that directly access the keyboard
and screen will not work. If sys
is reset with importlib.reload(sys)
,
IDLE’s changes are lost and things like input
, raw_input
, and
print
will not work correctly.
With IDLE’s Shell, one enters, edits, and recalls complete statements.
Some consoles only work with a single physical line at a time. IDLE uses
exec
to run each statement. As a result, '__builtins__'
is always
defined for each statement.
25.5.3.3. Exécution sans sous-processus¶
Par défaut IDLE exécute le code de l’utilisateur dans un sous-processus séparé via un connecteur sur l’interface de la boucle locale. Cette connexion n’est pas visible de l’extérieur et rien n’est envoyé ou reçu d’Internet. Si un pare-feu s’en plaint quand même, vous pouvez l’ignorer.
If the attempt to make the socket connection fails, Idle will notify you. Such failures are sometimes transient, but if persistent, the problem may be either a firewall blocking the connection or misconfiguration of a particular system. Until the problem is fixed, one can run Idle with the -n command line switch.
Si IDLE est démarré avec l’option -n de la ligne de commande, il s’exécute dans un seul processus et ne crée pas de sous-processus pour exécuter le serveur RPC d’exécution de Python. Ceci peut être utile si Python ne peut pas créer de sous-processus ou de connecteur RPC sur votre plateforme. Cependant, dans ce mode, le code de l’utilisateur n’est pas isolé de IDLE lui-même. De plus, l’environnement n’est pas réinitialisé quand Run/Run Module (F5) est sélectionné. Si votre code a été modifié, vous devez reload*() les modules affectés et ré-importer tous les éléments spécifiques (e.g. *from foo import baz) pour que les changements prennent effet. Pour toutes ces raisons, il est préférable d’exécuter IDLE avec le sous-processus par défaut si c’est possible.
Obsolète depuis la version 3.4.
25.5.4. Aide et préférences¶
25.5.4.1. Additional help sources¶
IDLE includes a help menu entry called « Python Docs » that will open the extensive sources of help, including tutorials, available at docs.python.org. Selected URLs can be added or removed from the help menu at any time using the Configure IDLE dialog. See the IDLE help option in the help menu of IDLE for more information.
25.5.4.2. Modifier les préférences¶
The font preferences, highlighting, keys, and general preferences can be changed via Configure IDLE on the Option menu. Keys can be user defined; IDLE ships with four built-in key sets. In addition, a user can create a custom key set in the Configure IDLE dialog under the keys tab.
25.5.4.3. Extensions¶
IDLE contains an extension facility. Preferences for extensions can be changed with Configure Extensions. See the beginning of config-extensions.def in the idlelib directory for further information. The default extensions are currently:
- FormatParagraph
- AutoExpand
- ZoomHeight
- ScriptBinding
- CallTips
- ParenMatch
- AutoComplete
- CodeContext
- RstripExtension