— Utolsó módosítás: 2026.02.15 —
🐍
Kisebb programok különböző Python verziókon való kipróbálásához és verziók közötti különbségek vizsgálatához hasznosak az online futtató környezetek, illetve olyankor is, amikor éppen a gépünkön nincs Python vagy még a konfigurálással szenvedünk és mégis tanulni, gyakorolni akarunk. Olyankor is hasznosak, amikor több Python verzióban ki akarunk próbálni valamit. Néhány online interpreter listája itt található.
A közvetlen szó itt azt jelenti, hogy nem valamilyen integrált fejlesztő környezetben (IDE-ben, mint pl. a VS Code) végezzük a Python programunk futtatását, hanem parancssorból, vagy pl. Notepad++-ban. Az előadáson a Notepad++-ban és a run_python.bat parancsfájl segítségével fogunk futtatni — egyébként persze mindenki olyan fejlesztő környezetet használ, amilyent akar.
Ha a python.exe könyvtárát hozzáadjuk a PATH környezeti változóhoz, akkor a parancssorba elegendő annyit írnunk, hogy python.exe. Ha ezt nem tesszük meg, például azért, mert több verzió is van a gépünkön és pontosan specifikálni akarjuk, melyik fusson, akkor ki kell írnunk a teljes elérési útvonalat és ha az útvonalban szóközök is előfordulhatnak, akkor idézőjelek közé kell tennünk:
c:\Users\A123456789\AppData\Local\Programs\Python\Python36-32\python.exe
"c:\Users\A123456789\AppData\Local\Program Files\Python\Python36-32\python.exe"
⇈
Én szeretem így csinálni: specifikálom a teljes elérési útvonalat, mert a gépemen több Python verzió is van és néha ugyanazt a programot le
akarom futtatni pl. a 3.10 és a 3.11 verzióval is, hogy megnézzem a működésbeli vagy a sebességbeli különbségeket.
Persze nem triviális, hogyan találom meg a python.exe helyét – erről mindjárt részletesen szó lesz.
Egyébként itt a leírásban az egyszerűség kedvéért nem írom ki az elérési útvonalat, általában csak python vagy python.exe fog szerepelni.
Itt a Windowson használható módszereket írom le, a Linux/macOS módszereket ld. lentebb.
Total Commander
A fájlrendszer gyökerébe állunk – vagy ha tudjuk/sejtjük, hogy melyik mappa alatt lehet, pl. C:\Users\A123456789\AppData\Local, akkor oda.
Keresés: Commands → Search vagy Alt+F7
Search for: *python.exe
Amikor elkészült a lista, célszerű azt egy szövegfájlba átmásolni, úgy jobban kezelhető lesz:
Feed to listbox Mark → Select All Mark → Copy Names With Path To Clipboardés bemásoljuk egy szöveges fájlba, vagy:
Feed to listbox Mark → Select All Mark → Save Selection To File
Windows parancssorból
A parancssori terminált elindítjuk: cmd, ezután, mondjuk ha egy exe_list.txt nevű fájlban akarjuk meglapni a listát:
where /R c:\ python.exe > exe_list.txtKiinduló könyvtárnak c:\ helyett persze megadhatunk más könyvtárat is.
Everything (voidtools, nagyon gyors)
A keresőbe beírjuk, hogy python.exe. Ha fájlba akarjuk menteni:
File Intéző (Windows Intéző, File Explorer, Windows Explorer)
• Itt is a fájlrendszer gyökerébe állunk – Local Disk (C:) – vagy
ha tudjuk/sejtjük, hogy melyik mappa alatt lehet, pl. C:\Users\A123456789\AppData\Local, akkor
oda.
• Jobboldalt felül a keresőablakba beírjuk, hogy python.exe.
• Amikor elkészült a lista, célszerű azt egy szövegfájlba átmásolni, úgy jobban kezelhető lesz:
Amikor az utasításokat egy .py kiterjesztésű fájlba írjuk abból a célból, hogy ezt majd végrehajtassuk a Python interpreterrel, akkor a fájlt szkriptnek szoktuk nevezni – van, aki szerint a megnevezés nem szerencsés, inkább a program lenne precízebb név. Tegyük fel, hogy egy test.py nevű fájlba ezt írtuk:
i = 10
print('i:', i)
i = 20
Ekkor ezt így tudjuk végrehajtatni:
python.exe test.py
Nem túl gyakran, de előfordul, hogy a szkript lefutása után még további parancsokat akarunk begépelni; azt szeretnénk
szimulálni, mintha a fájl tartalmát közvetlenül írtuk volna be. Ilyenkor a -i kapcsolóval kell felhívnunk a
Python interpretert:
python -i test.py
A képernyőn a Python interaktív promptját (>>>) fogjuk látni és pl. kiírathatjuk az i változó
tartalmát akár print() függvény nélkül is:
i: 10 # ezt írta ki a szkript >>> i # ezt gépeljük be a szkript lefutása után 20 >>>Az interaktív mód hibakeresésnél lehet hasznos; globális változók tartalmát ki tudjuk íratni a szkript lefutása után akkor is, ha hibajelzéssel állt le a program.
A run_python.bat tartalmazza a python.exe teljes elérési útvonalának megadását és a futtató parancsot. A SET py= kezdetű sorban le kell cserélni a python.exe elérési útvonalát az érvényes értékre.
A Run menü Run almenüjét választjuk ki — F5 — a felugró ablakba ezt írjuk:
python.exe -i "$(FULL_CURRENT_PATH)"
persze python.exe teljes elérési útvonalával, majd elmentjük ezt a parancsot pl.
pyrun néven. Mentéskor billentyűkombinációt is hozzá tudunk rendelni –
vigyázzunk, hogy ez ne ütközzön már meglévővel. Pl. Ctrl-P szokott lenni a
nyomtatás kombinációja, tehát ez már foglalt. A -i kapcsoló itt fontos, hogy ne záródjon be a
parancs-ablak a szkript lefutása után.
Ezután a Run menüből kiválasztjuk a pyrun tételt, ekkor lefut interaktív módban a szövegszerkesztőben éppen megnyitott fájl.
Az adott fájlban található függvények listájának mutatása:
View → Function list
A sorszámok mutatásának ki-bekapcsolása régebbi Notepad++ verziókon:
Settings → Preferences → Editing → ☑ Display line numberÚjabbakon:
Settings → Preferences → Margins/Border/Edge → Line Number → ☑ DisplayA Notepad++ tervezői szeretik változtatni a beállítások elérését, egyetlen dologhoz szoktak ragaszkodni: hogy véletlenül se lehessen átlagos emberi logikával követni. 😬
Mivel a Pythonban a blokkokat indentálással kötelező ellátni, pl.:
if x == y:
print('Hello')
print('world')
a tabulátorok szóközzé alakításának nagy jelentősége van. Ugyanis az interpreter számára a
tabulátor is csak egyetlen karakter, akárcsak a szóköz – ha tehát a fenti példában az első
print() előtt egy darab tabulátor áll, a második előtt pedig négy darab szóköz, akkor hibajelzést
fogunk kapni.
A Notepad++-ban régebbi verzióknál így tudjuk beállítani, hogy a tabulátorok szóközzé legyenek alakítva:
Settings → Preferences → LanguageItt a Tab settings részben van egy Replace by space kapcsoló. Fölötte pedig azt lehet beállítani, hogy hány szóköznek feleljen meg egy tabulátor (ajánlott: 4).
Újabb Notepad++ verzióknál a
Settings → Preferences → Indentationalatt lehet ezt a beállítást megcsinálni.
A már meglévő tabulátorok lecserélése szóközökre:
Edit → Blank operations → TAB to spaceFehér karakterek mutatása:
View → Show symbol → Show white space and TABvagy:
View → Show symbol → Show All Characters
Célszerű a szkriptjeinket a szövegszerkesztőben UTF-8 kódolással elmenteni, ekkor nem okoznak gondot az ékezetes karakterek változónevekben,
sztringekben és megjegyzésekben:
bíztat = 'hajrá!' # megjegyzés
Ha pl. ISO 8852-ben van a szkript elmentve, akkor az elején egy megjegyzésben specifikálnunk kell ezt:
# coding: iso-8859-2különben az első nem-ASCII (ékezetes) karakternél hibajelzést kapunk. A forrásfájl kódólásának specifikációját a fájl első vagy második sorába kell tennünk – a harmadik sorban már hatástalan.
A Notepad++-ban az Encoding menüpont alatt lehet beállítani, hogy milyen kódolással mentse el a tartalmat. Azt, hogy éppen milyen kódolás van beállítva, a keret alsó sorában jobboldalt láthatjuk.
A fentiek a Windows-on való futtatásra vonatkoznak. Linuxon és macOS-en a BBEdit szövegszerkesztőben tudunk a Notepad++-hoz
hasonlóan futtatni interaktívan (a -i kapcsolóval) és mindkét oprendszeren rendelkezésre áll a VS Code
fejlesztő környezet is.
A run_python.bat helyett létre kell hoznunk egy shell script fájlt pl. run_python.sh néven, majd futtathatóvá kell tennünk:
chmod +x run_python.shés ezt írjuk bele (persze a tényleges útvonallal):
/usr/bin/python3 -i test.py echo "Press [Enter] to exit..." readA python.exe helyét így tudjuk megkeresni:
sudo find / -type f -name "python3" 2>/dev/nullA tabulátorokról és a karakterkódolásról elmondottak persze itt is érvényesek.
Execute a Python script
— python-course.eu
Command line and environment —
docs.python.org