IDLE — Python-redigerare och skal

Källkod: Lib/idlelib/


IDLE är Pythons integrerade utvecklings- och inlärningsmiljö.

IDLE har följande egenskaper:

  • plattformsoberoende: fungerar i stort sett på samma sätt i Windows, Unix och macOS

  • Python-skalfönster (interaktiv tolk) med färgläggning av kodinmatning, kodutmatning och felmeddelanden

  • textredigerare med flera fönster, flera ångra, Python-färg, smart indrag, anropstips, automatisk komplettering och andra funktioner

  • sök i alla fönster, ersätt i redigeringsfönster och sök i flera filer (grep)

  • felsökare med permanenta brytpunkter, stepping och visning av globala och lokala namnrymder

  • konfiguration, webbläsare och andra dialogrutor

Redigering och navigering

Redigeringsfönster

IDLE kan öppna editorfönster när det startar, beroende på inställningar och hur du startar IDLE. Därefter använder du menyn Fil. Det kan bara finnas ett öppet editorfönster för en viss fil.

Titelfältet innehåller filnamnet, den fullständiga sökvägen och versionen av Python och IDLE som kör fönstret. Statusfältet innehåller radnummer (’Ln’) och kolumnnummer (’Col’). Radnumren börjar med 1 och kolumnnumren med 0.

IDLE förutsätter att filer med ett känt .py*-tillägg innehåller Python-kod och att andra filer inte gör det. Kör Python-kod med menyn Kör.

Tangentbindningar

Infogningsmarkören IDLE är en tunn vertikal linje mellan teckenpositionerna. När tecken skrivs in flyttas inmatningsmarkören och allt till höger om den ett tecken åt höger och det nya tecknet skrivs in i det nya utrymmet.

Flera tangenter som inte är teckentangenter flyttar markören och raderar eventuellt tecken. Radering innebär inte att text läggs på urklipp, men IDLE har en ångerlista. Överallt där det här dokumentet diskuterar tangenter hänvisar ”C” till Control-tangenten i Windows och Unix och Command-tangenten i macOS. (Och alla sådana diskussioner förutsätter att tangenterna inte har ombundits till något annat)

  • Piltangenterna flyttar markören ett tecken eller en rad.

  • C-LeftArrow och C-RightArrow flyttar ett ord åt vänster eller höger.

  • Home och End går till början eller slutet av raden.

  • Page Up och Page Down går upp eller ner en skärm.

  • C-Home och C-End går till början eller slutet av filen.

  • Backspace och Del (eller C-d) raderar föregående eller nästa tecken.

  • C-Backspace och C-Del raderar ett ord åt vänster eller höger.

  • C-k raderar (’dödar’) allt till höger.

Standardtangentbindningar (t.ex. C-c för att kopiera och C-v för att klistra in) kan fungera. Nyckelbindningar väljs i dialogrutan Configure IDLE.

Automatisk indragning

Efter en blocköppnande sats är nästa rad indragen med 4 mellanslag (i Python Shell-fönstret med en tabb). Efter vissa nyckelord (break, return etc.) är nästa rad indragen. Vid ledande indrag raderar Backspace upp till 4 mellanslag om de finns där. Tab infogar mellanslag (i Python Shell-fönstret en tabb), antalet beror på indragets bredd. För närvarande är tabbar begränsade till fyra mellanslag på grund av Tcl/Tk-begränsningar.

Se även kommandona för indragning/upphöjning av områden på Format-menyn.

Sök och ersätt

Alla val blir ett sökmål. Det är dock bara val inom en rad som fungerar, eftersom sökningar bara utförs inom rader där den avslutande nya raden har tagits bort. Om [x] Regular expression markeras tolkas målet i enlighet med Pythons re-modul.

Färdigställda

Kompletteringar tillhandahålls, när de begärs och är tillgängliga, för modulnamn, attribut för klasser eller funktioner eller filnamn. Varje metod för begäran visar en kompletteringsruta med befintliga namn. (Se tabbkompletteringar nedan för ett undantag.) För varje ruta kan du ändra namnet som kompletteras och objektet som markeras i rutan genom att skriva och ta bort tecken, genom att trycka på Up, Down, PageUp, PageDown, Home och End och genom ett enda klick i rutan. Stäng rutan med Escape, Enter, och dubbla Tab tangenter eller klick utanför rutan. Ett dubbelklick inom boxen markerar och stänger.

Ett sätt att öppna en ruta är att skriva ett tangenttecken och vänta i ett fördefinierat intervall. Standardvärdet är 2 sekunder, men du kan anpassa det i dialogrutan Inställningar. (För att förhindra automatiska popup-fönster ska du ställa in fördröjningen till ett stort antal millisekunder, t.ex. 100000000.) För importerade modulnamn eller klass- eller funktionsattribut, skriv ’.’. För filnamn i rotkatalogen skriver du os.sep eller os.altsep omedelbart efter ett inledande citationstecken. (I Windows kan man ange en enhet först.) Flytta till underkataloger genom att skriva ett katalognamn och en separator.

Istället för att vänta, eller efter att en ruta har stängts, kan du öppna en kompletteringsruta omedelbart med Show Completions på Edit-menyn. Den förvalda snabbkommandot är C-space. Om man skriver in ett prefix för det önskade namnet innan man öppnar rutan, visas den första matchningen eller nästan-missningen. Resultatet är detsamma som om man skriver in ett prefix efter att rutan har visats. Show Completions efter ett citationstecken kompletterar filnamn i den aktuella katalogen i stället för i en rotkatalog.

Att trycka på Tab efter ett prefix har vanligtvis samma effekt som Show Completions. (Utan prefix indenteras det.) Men om det bara finns en matchning till prefixet läggs den matchningen omedelbart till i redigeringstexten utan att en ruta öppnas.

Om du anropar ”Show Completions” eller trycker på Tab efter ett prefix, utanför en sträng och utan föregående ’.’ öppnas en ruta med nyckelord, inbyggda namn och tillgängliga namn på modulnivå.

När du redigerar kod i en editor (i motsats till Shell) kan du öka antalet tillgängliga namn på modulnivå genom att köra koden och inte starta om Shell efteråt. Detta är särskilt användbart när du lägger till import längst upp i en fil. Detta ökar också antalet möjliga attributkompletteringar.

Kompletteringsrutor utesluter initialt namn som börjar med ’_’ eller, för moduler, som inte ingår i ’__all__’. Du kan komma åt de dolda namnen genom att skriva ”_” efter ”.”, antingen innan eller efter att rutan har öppnats.

Samtalstips

En calltip visas automatiskt när man skriver ( efter namnet på en tillgänglig funktion. Ett uttryck för ett funktionsnamn kan innehålla punkter och subskriptioner. En calltip visas tills den klickas, markören flyttas ut ur argumentområdet eller ) skrivs. När markören befinner sig i argumentdelen av en definition kan du välja Edit och ”Show Call Tip” på menyn eller ange dess genväg för att visa en calltip.

Anropstipset består av funktionens signatur och docstring fram till den senares första tomma rad eller den femte icke-tomma raden. (Vissa inbyggda funktioner saknar en tillgänglig signatur.) Ett ’/’ eller ’*’ i signaturen anger att föregående eller följande argument endast skickas med position eller namn (nyckelord). Detaljer kan komma att ändras.

I Shell beror de tillgängliga funktionerna på vilka moduler som har importerats till användarprocessen, inklusive de som importeras av Idle själv, och vilka definitioner som har körts, allt sedan den senaste omstarten.

Starta till exempel om Shell och ange itertools.count(. Ett calltip visas eftersom Idle importerar itertools till användarprocessen för eget bruk. (Detta kan ändras.) Skriv turtle.write( och ingenting visas. Idle importerar inte själv turtle. Menyalternativet och genvägen gör inte heller något. Skriv in import turtle. Därefter kommer turtle.write( att visa ett calltip.

I en editor har importsatser ingen effekt förrän man kör filen. Man kanske vill köra en fil efter att ha skrivit importsatser, efter att ha lagt till funktionsdefinitioner eller efter att ha öppnat en befintlig fil.

Kod Sammanhang

I ett redigeringsfönster som innehåller Python-kod kan kodkontexten växlas för att visa eller dölja en ruta längst upp i fönstret. När den här rutan visas fryser den de inledande raderna för blockkod, t.ex. de som börjar med nyckelorden class, def eller if, som annars skulle ha rullats bort. Fönstrets storlek utökas och minskas efter behov för att visa alla aktuella kontextnivåer, upp till det maximala antal rader som anges i dialogrutan Configure IDLE (standardvärdet är 15). Om det inte finns några aktuella kontextlinjer och funktionen är aktiverad visas en enda tom rad. Om du klickar på en rad i kontextfönstret flyttas den raden till toppen av redigeringsfönstret.

Text- och bakgrundsfärgerna för kontextfönstret kan konfigureras under fliken Highlights i dialogrutan Configure IDLE.

Shell-fönster

I IDLE:s Shell kan du skriva in, redigera och återkalla fullständiga satser. (De flesta konsoler och terminaler arbetar bara med en enda fysisk rad åt gången).

Skicka en sats på en rad för exekvering genom att trycka på Return med markören var som helst på raden. Om en rad är förlängd med Backslash (\) måste markören vara på den sista fysiska raden. Skicka ett sammansatt uttalande med flera rader genom att ange en tom rad efter uttalandet.

När man klistrar in kod i Shell kompileras den inte och exekveras eventuellt inte förrän man trycker på Return, enligt specifikationen ovan. Man kan redigera den inklistrade koden först. Om man klistrar in mer än ett uttalande i Shell blir resultatet ett SyntaxError när flera uttalanden kompileras som om de vore ett.

Rader som innehåller RESTART betyder att användarens exekveringsprocess har startats om. Detta inträffar när användarens exekveringsprocess har kraschat, när man begär en omstart på Shell-menyn eller när man kör kod i ett redigeringsfönster.

De redigeringsfunktioner som beskrivs i tidigare underavsnitt fungerar när du skriver in kod interaktivt. IDLE:s Shell-fönster svarar också på följande:

  • C-c försöker avbryta exekveringen av ett uttalande (men kan misslyckas).

  • C-d closes Shell if typed at a >>> prompt.

  • Alt-p och Alt-n (C-p och C-n på macOS) hämtar till den aktuella prompten den föregående eller nästa tidigare inmatade satsen som matchar något som redan skrivits.

  • Return medan markören står på en tidigare sats lägger till den senare till allt som redan skrivits vid prompten.

Textfärger

Idle använder som standard svart på vit text, men färglägger text med speciella betydelser. För skalet är dessa skalutmatning, skalfel, användarutmatning och användarfel. För Python-kod, vid skalprompten eller i en editor, är dessa nyckelord, inbyggda klass- och funktionsnamn, namn som följer efter class och def, strängar och kommentarer. För alla textfönster är dessa markören (när den finns), hittad text (när det är möjligt) och markerad text.

IDLE markerar även soft keywords match, case och _ i mönstermatchande satser. Den här markeringen är dock inte perfekt och kommer att vara felaktig i vissa sällsynta fall, inklusive vissa _-s i case-mönster.

Textfärgning görs i bakgrunden, så ofärgad text är ibland synlig. Du kan ändra färgschemat genom att använda fliken Markering i dialogen Konfigurera IDLE. Markeringen av brytpunktslinjer i debuggern i redigeraren och text i popup-fönster och dialogrutor kan inte konfigureras av användaren.

Uppstart och exekvering av kod

Vid uppstart med alternativet -s kommer IDLE att köra den fil som miljövariablerna IDLESTARTUP eller PYTHONSTARTUP refererar till. IDLE kontrollerar först om IDLESTARTUP finns; om IDLESTARTUP finns körs den fil som refereras till. Om IDLESTARTUP inte finns, kontrollerar IDLE om PYTHONSTARTUP finns. Filer som refereras till av dessa miljövariabler är lämpliga platser för att lagra funktioner som används ofta från IDLE-skalet, eller för att köra importsatser för att importera vanliga moduler.

Dessutom laddar Tk också en startfil om en sådan finns. Observera att Tk-filen läses in villkorslöst. Denna extra fil heter .Idle.py och söks upp i användarens hemkatalog. Satser i den här filen kommer att exekveras i Tk-namnrymden, så den här filen är inte användbar för att importera funktioner som ska användas från IDLE:s Python-skal.

Användning av kommandoraden

IDLE kan anropas från kommandoraden med olika alternativ. Den allmänna syntaxen är:

python -m idlelib [alternativ] [fil ...]

Följande alternativ finns tillgängliga:

-c <command>

Kör det angivna Python-kommandot i skalfönstret. Till exempel, skicka -c "print('Hello, World!')". På Windows måste de yttre citaten vara dubbla citattecken som visas.

-d

Aktivera felsökaren och öppna skalfönstret.

-e

Öppna ett redigeringsfönster.

-h

Skriv ut ett hjälpmeddelande med tillåtna kombinationer av alternativ och avsluta.

-i

Öppna ett skalfönster.

-r <file>

Kör den angivna filen i skalfönstret.

-s

Kör startfilen (som definieras av miljövariablerna IDLESTARTUP eller PYTHONSTARTUP) innan du öppnar skalfönstret.

-t <title>

Ange titeln på skalfönstret.

-

Läser och exekverar standardinmatning i skalfönstret. Detta alternativ måste vara det sista före eventuella argument.

Om argument anges:

  • Om -, -c eller -r används placeras alla argument i sys.argv[1:] och sys.argv[0] sätts till '', '-c' eller '-r'. Inget redigeringsfönster öppnas, även om det är standardinställningen i dialogrutan Options.

  • I annat fall behandlas argumenten som filer som ska öppnas för redigering, och sys.argv återspeglar de argument som skickas till IDLE själv.

Fel vid uppstart

IDLE använder en socket för att kommunicera mellan IDLE GUI-processen och processen för exekvering av användarkoden. En anslutning måste upprättas varje gång Shell startar eller startas om. (Det senare indikeras av en skiljelinje med texten ”RESTART”). Om användarprocessen inte lyckas ansluta till GUI-processen visas vanligtvis en Tk-felruta med meddelandet ”cannot connect” som hänvisar användaren hit. Därefter avslutas den.

Ett specifikt anslutningsfel på Unix-system beror på felkonfigurerade maskeringsregler någonstans i systemets nätverksinställningar. När IDLE startas från en terminal kommer man att se ett meddelande som börjar med ** Invalid host:. Det giltiga värdet är 127.0.0.1 (idlelib.rpc.LOCALHOST). Man kan diagnostisera med tcpconnect -irv 127.0.0.1 6543 i ett terminalfönster och tcplisten <same args> i ett annat.

En vanlig orsak till fel är en användarskriven fil med samma namn som en standardbiblioteksmodul, till exempel random.py och tkinter.py. När en sådan fil finns i samma katalog som en fil som ska köras, kan IDLE inte importera stdlib-filen. Den nuvarande lösningen är att byta namn på användarfilen.

Även om det är mindre vanligt än tidigare kan ett antivirus- eller brandväggsprogram stoppa anslutningen. Om det inte går att lära programmet att tillåta anslutningen måste det stängas av för att IDLE ska fungera. Det är säkert att tillåta den här interna anslutningen eftersom inga data syns på externa portar. Ett liknande problem kan uppstå om nätverket är felkonfigurerat och blockerar anslutningar.

Problem med Python-installationen stoppar ibland IDLE: flera versioner kan krocka, eller en enda installation kan behöva administratörsbehörighet. Om man ångrar kollisionen, eller inte kan eller vill köra som administratör, kan det vara enklast att helt ta bort Python och börja om.

En zombie pythonw.exe-process kan vara ett problem. I Windows kan du använda Aktivitetshanteraren för att kontrollera om det finns en sådan och stoppa den om det finns en. Ibland kan en omstart som initierats av en programkrasch eller ett tangentbordsavbrott (control-C) misslyckas med att ansluta. Om du avfärdar felrutan eller använder Restart Shell på Shell-menyn kan det lösa ett tillfälligt problem.

När IDLE startas första gången försöker den läsa användarkonfigurationsfiler i ~/.idlerc/ (~ är ens hemkatalog). Om det uppstår ett problem bör ett felmeddelande visas. Om man bortser från slumpmässiga diskproblem kan detta förhindras genom att aldrig redigera filerna för hand. Använd i stället konfigurationsdialogen under Alternativ. Om det har uppstått ett fel i en användarkonfigurationsfil kan den bästa lösningen vara att radera den och börja om från början med inställningsdialogen.

Om IDLE avslutas utan något meddelande och det inte startades från en konsol, försök att starta det från en konsol eller terminal (python -m idlelib) och se om detta resulterar i ett felmeddelande.

På Unix-baserade system med tcl/tk äldre än 8.6.11 (se Om IDLE) kan vissa tecken i vissa teckensnitt orsaka ett tk-fel med ett meddelande till terminalen. Detta kan hända antingen om man startar IDLE för att redigera en fil med ett sådant tecken eller senare när man skriver in ett sådant tecken. Om man inte kan uppgradera tcl/tk kan man konfigurera om IDLE så att det använder ett typsnitt som fungerar bättre.

Körning av användarkod

Med sällsynta undantag är resultatet av att exekvera Python-kod med IDLE avsett att vara detsamma som att exekvera samma kod med standardmetoden, direkt med Python i en systemkonsol eller ett terminalfönster i textläge. Det annorlunda gränssnittet och den annorlunda funktionen påverkar dock ibland synliga resultat. Till exempel börjar sys.modules med fler poster och threading.active_count() returnerar 2 istället för 1.

Som standard kör IDLE användarkoden i en separat OS-process i stället för i den process i användargränssnittet som kör skalet och redigeraren. I exekveringsprocessen ersätts sys.stdin, sys.stdout och sys.stderr med objekt som hämtar indata från och skickar utdata till Shell-fönstret. De ursprungliga värdena som lagras i sys.__stdin__, sys.__stdout__ och sys.__stderr__ påverkas inte, men kan vara None.

Att skicka utskrifter från en process till en textwidget i en annan process går långsammare än att skriva ut till en systemterminal i samma process. Detta har störst effekt när flera argument skrivs ut, eftersom strängen för varje argument, varje separator och ny rad skickas separat. För utveckling är detta vanligtvis inte ett problem, men om man vill skriva ut snabbare i IDLE, formatera och sammanfoga allt man vill visa tillsammans och skriv sedan ut en enda sträng. Både formatsträngar och str.join() kan hjälpa till att kombinera fält och rader.

IDLE:s standardflödesersättningar ärvs inte av underprocesser som skapas i exekveringsprocessen, vare sig direkt av användarkod eller av moduler som t.ex. multiprocessing. Om en sådan underprocess använder input från sys.stdin eller print eller write till sys.stdout eller sys.stderr, bör IDLE startas i ett kommandoradsfönster. (I Windows, använd python eller py istället för pythonw eller pyw.) Den sekundära subprocessen kommer sedan att kopplas till det fönstret för in- och utdata.

Om sys återställs av användarkod, t.ex. med importlib.reload(sys), går IDLE:s ändringar förlorade och inmatning från tangentbordet och utmatning till skärmen fungerar inte korrekt.

När Shell har fokus kontrollerar det tangentbordet och skärmen. Detta är normalt transparent, men funktioner som har direkt åtkomst till tangentbordet och skärmen fungerar inte. Det gäller bland annat systemspecifika funktioner som avgör om en tangent har tryckts ned och i så fall vilken.

IDLE-koden som körs i exekveringsprocessen lägger till ramar i anropsstacken som annars inte skulle finnas där. IDLE omsluter sys.getrecursionlimit och sys.setrecursionlimit för att minska effekten av de extra stapelramarna.

När användarkoden utlöser SystemExit, antingen direkt eller genom att anropa sys.exit, återgår IDLE till en Shell-prompt i stället för att avslutas.

Användarutdata i Shell

När ett program matar ut text bestäms resultatet av motsvarande utmatningsenhet. När IDLE exekverar användarkod ansluts sys.stdout och sys.stderr till visningsområdet i IDLE:s Shell. Vissa av dess funktioner är ärvda från den underliggande Tk Text-widgeten. Andra är programmerade tillägg. Shell är utformat för utveckling snarare än produktionskörningar.

Shell kastar t.ex. aldrig bort utdata. Ett program som skickar obegränsat med utdata till Shell kommer så småningom att fylla minnet, vilket resulterar i ett minnesfel. Däremot behåller vissa systemtextfönster bara de sista n raderna av utdata. En Windows-konsol, till exempel, behåller 1 till 9999 rader som kan ställas in av användaren, med 300 som standard.

En Tk Text-widget, och därmed IDLE:s Shell, visar tecken (kodpunkter) i BMP-undergruppen (Basic Multilingual Plane) i Unicode. Vilka tecken som visas med en korrekt glyf och vilka som visas med en ersättningsruta beror på operativsystemet och installerade teckensnitt. Tabbtecken gör att följande text börjar efter nästa tabbstopp. (De förekommer var 8:e ”tecken”). Newline-tecken gör att följande text visas på en ny rad. Andra kontrolltecken ignoreras eller visas som mellanslag, ruta eller något annat, beroende på operativsystem och teckensnitt. (Om du flyttar textmarkören genom sådana utdata med piltangenterna kan du få överraskande avstånd)

>>> 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.

Funktionen repr används för interaktivt eko av uttrycksvärden. Den returnerar en ändrad version av indatasträngen där kontrollkoder, vissa BMP-kodpunkter och alla icke-BMP-kodpunkter ersätts med escape-koder. Som visats ovan kan man på detta sätt identifiera tecknen i en sträng, oavsett hur de visas.

Normal och felaktig utdata hålls i allmänhet åtskilda (på separata rader) från kodinmatning och varandra. De får olika färger för markering.

För SyntaxError-spårningar ersätts den normala ”^”-markeringen där felet upptäcktes med att texten färgas med en felmarkering. När kod som körs från en fil orsakar andra undantag kan man högerklicka på en spårningsrad för att hoppa till motsvarande rad i en IDLE-redigerare. Filen kommer att öppnas om det behövs.

Shell har en speciell funktion för att klämma ihop utdatarader till en ”Klämd text”-etikett. Detta görs automatiskt för utdata över N rader (N = 50 som standard). N kan ändras i PyShell-avsnittet på sidan Allmänt i dialogrutan Inställningar. Utdata med färre rader kan pressas genom att högerklicka på utdata. Detta kan vara användbart för rader som är tillräckligt långa för att sakta ner skrollningen.

Pressad utdata expanderas på plats genom att dubbelklicka på etiketten. Den kan också skickas till urklipp eller ett separat visningsfönster genom att högerklicka på etiketten.

Utveckla tkinter-applikationer

IDLE skiljer sig avsiktligt från standard-Python för att underlätta utvecklingen av tkinter-program. Skriv import tkinter as tk; root = tk.Tk() i standard Python och ingenting visas. Skriv samma sak i IDLE och ett tk-fönster visas. I standard Python måste man också skriva root.update() för att se fönstret. IDLE gör motsvarande i bakgrunden, ungefär 20 gånger per sekund, vilket är ungefär var 50:e millisekund. Därefter skriver du in b = tk.Button(root, text='button'); b.pack(). Återigen ändras ingenting synligt i standard Python förrän man skriver in root.update().

Most tkinter programs run root.mainloop(), which usually does not return until the tk app is destroyed. If the program is run with python -i or from an IDLE editor, a >>> shell prompt does not appear until mainloop() returns, at which time there is nothing left to interact with.

När man kör ett tkinter-program från en IDLE-editor kan man kommentera ut mainloop-anropet. Man får då omedelbart en shell-prompt och kan interagera med live-applikationen. Man måste bara komma ihåg att återaktivera mainloop-anropet när man kör i standard-Python.

Körning utan en subprocess

Som standard kör IDLE användarkoden i en separat underprocess via en socket som använder det interna loopback-gränssnittet. Den här anslutningen är inte synlig externt och inga data skickas till eller tas emot från internet. Om brandväggsprogrammet ändå klagar kan du ignorera det.

Om försöket att upprätta socketanslutningen misslyckas kommer Idle att meddela dig. Sådana misslyckanden är ibland övergående, men om de är ihållande kan problemet antingen vara en brandvägg som blockerar anslutningen eller felaktig konfiguration av ett visst system. Tills problemet är åtgärdat kan man köra Idle med kommandoradsväxeln -n.

Om IDLE startas med kommandoradsbytet -n kommer det att köras i en enda process och inte skapa den underprocess som kör RPC Python-körningsservern. Detta kan vara användbart om Python inte kan skapa subprocessen eller RPC-socketgränssnittet på din plattform. I det här läget är dock användarkoden inte isolerad från IDLE själv. Miljön startas inte heller om när Run/Run Module (F5) väljs. Om din kod har ändrats måste du ladda om() de berörda modulerna och återimportera alla specifika objekt (t.ex. from foo import baz) om ändringarna ska träda i kraft. Av dessa skäl är det att föredra att köra IDLE med standardunderprocessen om det är möjligt.

Föråldrad sedan version 3.4.

Hjälp och inställningar

Hjälp källor

Hjälpmenyposten ”IDLE Help” visar en formaterad html-version av IDLE-kapitlet i Library Reference. Resultatet, i ett skrivskyddat tkinter-textfönster, liknar det man ser i en webbläsare. Navigera genom texten med ett mushjul, rullningslisten eller nedtryckta piltangenter upp och ned. Eller klicka på knappen TOC (Table of Contents) och välj en avsnittsrubrik i den öppnade rutan.

Hjälpmenyalternativet ”Python Docs” öppnar de omfattande hjälpkällorna, inklusive självstudier, som finns på docs.python.org/x.y, där ’x.y’ är den Python-version som körs för tillfället. Om ditt system har en offlinekopia av dokumenten (detta kan vara ett installationsalternativ) öppnas den istället.

Valda webbadresser kan när som helst läggas till eller tas bort från hjälpmenyn på fliken Allmänt i dialogrutan Konfigurera IDLE.

Inställning av preferenser

Inställningarna för teckensnitt, markering, tangenter och allmänna inställningar kan ändras via Configure IDLE på menyn Option. Användarinställningar som inte är standard sparas i katalogen .idlerc i användarens hemkatalog. Problem som orsakas av felaktiga användarkonfigurationsfiler löses genom att redigera eller radera en eller flera av filerna i .idlerc.

På fliken Font kan du se textexemplet för effekten av teckensnitt och storlek på flera tecken på flera språk. Redigera exemplet för att lägga till andra tecken av personligt intresse. Använd exemplet för att välja monospaced-teckensnitt. Om vissa tecken har problem i Shell eller en editor, lägg till dem överst i exemplet och prova att ändra först storlek och sedan typsnitt.

På fliken Highlights and Keys väljer du ett inbyggt eller anpassat färgtema och en nyckeluppsättning. Om du vill använda ett nyare inbyggt färgtema eller en ny nyckeluppsättning med äldre IDLEs sparar du det som ett nytt anpassat tema eller en ny nyckeluppsättning så att det blir tillgängligt för äldre IDLEs.

IDLE på macOS

Under Systeminställningar: Dock kan man ställa in ”Föredra flikar när du öppnar dokument” till ”Alltid”. Den här inställningen är inte kompatibel med tk/tkinter GUI-ramverket som används av IDLE, och den bryter några IDLE-funktioner.

Tillägg

IDLE innehåller en funktion för tillägg. Inställningar för tillägg kan ändras på fliken Tillägg i inställningsdialogen. Se början av config-extensions.def i katalogen idlelib för ytterligare information. Det enda aktuella standardtillägget är zzdummy, ett exempel som också används för testning.

idlelib — implementering av IDLE-applikation

Källkod: Lib/idlelib


Paketet Lib/idlelib implementerar programmet IDLE. Se resten av den här sidan för hur du använder IDLE.

Filerna i idlelib beskrivs i idlelib/README.txt. Du kan komma åt den antingen i idlelib eller genom att klicka på Hjälp => Om IDLE på IDLE-menyn. Den här filen mappar också IDLE-menyobjekt till koden som implementerar objektet. Med undantag för filer som listas under ”Startup” är idlelib-koden ”privat” i den meningen att funktionsändringar kan bakåtporteras (se PEP 434).