1.2. Környezeti változók¶
ezek a környezeti változók befolyásolják a Python viselkedését, ezeket feldolgozzákmielőtt a parancssori kapcsolók nem-E vagy-I. szokás, hogy a commmand-line kapcsolók felülbírálják a környezeti változókat, ahol aconflict van.
PYTHONHOME
¶
változtassa meg a szabványos Python könyvtárak helyét., Alapértelmezés szerint a thelibráriumok a prefix/lib/pythonversion
ésexec_prefix/lib/pythonversion
, ahol prefix
ésexec_prefix
telepítésfüggő könyvtárak, mindkettő defaultto /usr/local
.
amikor PYTHONHOME
egyetlen könyvtárra van állítva, értéke helyettesítikboth prefix
és exec_prefix
. Ezek különböző értékeinek meghatározásához állítsa be a PYTHONHOME
értéket prefix:exec_prefix
értékre.
PYTHONPATH
¶
növelje a modulfájlok alapértelmezett keresési útvonalát., A formátum ugyanaz, mint a shell PATH
: egy vagy több könyvtár pathnames elválasztvaos.pathsep
(pl colons Unix vagy pontosvessző Windows).A nem létező könyvtárakat csendben figyelmen kívül hagyják.
a normál könyvtárak mellett az egyéni PYTHONPATH
entrieshivatkozhat tiszta Python modulokat tartalmazó zipfiles-re (forrás vagycompiled formában). A kiterjesztési modulok nem importálhatók a zipfiles-ből.,
Az alapértelmezett keresési útvonal a telepítéstől függ, de általában aprefix/lib/pythonversion
– val kezdődik (lásd PYTHONHOME
fent). Az Itis-t mindig a PYTHONPATH
– hoz csatolták.
egy további könyvtár kerül beillesztésre a keresési útvonal eléPYTHONPATH
a fent leírtak szerint underInterface beállítások. A keresési útvonal manipulálhatóegy Python programban a változóként.
PYTHONPLATLIBDIR
¶
Ha ez nem üres karakterláncra van állítva, felülírja a sys.platlibdir
értéket.,
új verzió 3.9.
PYTHONSTARTUP
¶
Ha ez egy olvasható fájl neve, akkor a fájlban lévő Python parancsok be vannak állítva, mielőtt az első prompt interaktív módban jelenik meg. A fájl ugyanabban a névtérben kerül végrehajtásra, ahol interaktív parancsokat hajtanak végre, hogy a benne definiált vagy importált objektumok az interaktív munkamenetben képesítés nélkül is használhatók legyenek. A sys.ps1
éssys.ps2
és a sys.__interactivehook__
horog is módosítható ebben a fájlban.,
emel egy auditálási eseménycpython.run_startup
withthe fájlnév, mint az érv, amikor az indításkor.
PYTHONOPTIMIZE
¶
Ha ez nem üres karakterláncra van állítva, akkor egyenértékű a-O
opció megadásával. Ha egész számra van állítva, akkor egyenértékű a-O
többszöri megadásával.
PYTHONBREAKPOINT
¶
Ha ez be van állítva, akkor pontozott útvonal jelöléssel hívható., A modulecontaining a hívható lesz importálni, majd a hívható lesz runby az alapértelmezett végrehajtása sys.breakpointhook()
amely maga iscalled beépített breakpoint()
. Ha nincs beállítva, vagy az üresre van beállítvaszúr, ez megegyezik a “pdb” értékkel.set_trace”. Ha ezt a “0” – ra állítja, akkor a sys.breakpointhook()
alapértelmezett végrehajtása nem tesz semmit, csak azonnal visszatér.
új verzió 3.7.,
PYTHONDEBUG
¶
Ha ez nem üres karakterláncra van állítva, akkor a-d
opció megadásával egyenértékű. Ha egész számra van állítva, akkor egyenértékű a-d
többszöri megadásával.
PYTHONOLDPARSER
¶
Ha ez nem üres karakterláncra van állítva, engedélyezze a hagyományos LL(1) elemzőt.
Lásd még: -X
oldparser
opció és PEP 617.
a 3.9-es verzió óta elavult, a 3.10-es verzióban eltávolításra kerül.,
PYTHONINSPECT
¶
Ha ez egy nem üres karakterláncra van állítva, akkor egyenértékű a-i
opció megadásával.
Ez a változó Python-kóddal is módosítható a os.environ
használatával, hogy az ellenőrzés módot kényszerítse a program befejezésére.
PYTHONUNBUFFERED
¶
Ha ez nem üres karakterláncra van állítva, akkor egyenértékű a-u
opció megadásával.
PYTHONVERBOSE
¶
Ha ez nem üres karakterláncra van állítva, akkor a-v
opció megadásával egyenértékű., Ha egész számra van állítva, akkor egyenértékű a többszöri megadásával.
PYTHONCASEOK
¶
Ha ez be van állítva, a Python figyelmen kívül hagyja a import
kijelentéseket. Ez Windows és OS X.
PYTHONDONTWRITEBYTECODE
¶
Ha ez nem üres karakterláncra van állítva, a Python nem próbálja meg .pyc
fájlokat írni a forrásmodulok importálásakor. Ez egyenértékű a -B
opció megadásával.,
PYTHONPYCACHEPREFIX
¶
Ha ez be van állítva, a Python.pyc
fájlokat ír egy tükörkönyvtárba treeeat ezt az utat, ahelyett, hogy a__pycache__
könyvtárakat a sourcetree. Ez egyenértékű a -X
pycache_prefix=PATH
opció megadásával.
új verzió 3.8.
PYTHONHASHSEED
¶
Ha ez a változó nincs beállítva vagy beállítva random
, véletlen értéket használnakaz str és Byte objektumok hash-jének vetéséhez.,
Ha PYTHONHASHSEED
van beállítva, hogy egy egész érték, akkor használják a fixedseed generálására hash() a típusok által lefedett hashrandomization.
célja, hogy lehetővé tegye a megismételhető hashálást, például az önindító számára, vagy hogy lehetővé tegye a Python folyamatok klaszterének hashvalues megosztását.
az egész számnak tizedes számnak kell lennie a tartományban . A 0 érték megadása letiltja a hash randomizációt.
új verzió 3.2.3.,
PYTHONIOENCODING
¶
Ha ez az értelmező futtatása előtt van beállítva, felülírja az stdin/stdout / stderr kódolást, a encodingname:errorhandler
szintaxisban. Boththe encodingname
, illetve a :errorhandler
alkatrészekre opcionális-ea ugyanazt jelenti, mint a str.encode()
.
az stderr esetében a:errorhandler
részt figyelmen kívül hagyják; a kezelő mindig'backslashreplace'
lesz.
megváltozott Verzió 3.4: a encodingname
rész már nem kötelező.
megváltozott a 3. verzióban.,6: Windows rendszeren a változó által megadott kódolás figyelmen kívül marad az interactiveconsole puffereknél, kivéve, ha a PYTHONLEGACYWINDOWSSTDIO
is meg van adva.A szabványos adatfolyamokon keresztül átirányított fájlok és csövek nem érintettek.
PYTHONNOUSERSITE
¶
Ha ez be van állítva, a Python nem adja hozzá a user site-packages directory
.,
Lásd még:
Pep 370 – felhasználónként-csomagkönyvtár
PYTHONUSERBASE
¶
meghatározza a user base directory
útvonalát, amelyet a user site-packages directory
és distutils telepítési útvonalakpython setup.py install --user
.
Lásd még:
Pep 370 – felhasználói oldalanként-csomagok directory
PYTHONEXECUTABLE
¶
Ha ez a környezeti változó be van állítva, sys.argv
értékre lesz állítva a C futásidejű érték helyett. Csak akkor működik onMac OS X.,
PYTHONWARNINGS
¶
ez egyenértékű a -W
opcióval. Ha egy vesszővel elválasztott karakterláncra van állítva, akkor ez egyenértékű a -W
multipletimes megadásával, a listában később szereplő szűrők elsőbbséget élveznek a korábbi listával szemben.
A legegyszerűbb beállítások érvényesek az adott művelet, feltétel nélkül, hogy allwarnings által kibocsátott folyamat (még azok is, amelyek egyébként figyelmen bydefault):
PYTHONWARNINGS=default # Warn once per call locationPYTHONWARNINGS=error # Convert to exceptionsPYTHONWARNINGS=always # Warn every timePYTHONWARNINGS=module # Warn once per calling modulePYTHONWARNINGS=once # Warn once per Python processPYTHONWARNINGS=ignore # Never warn
Lásd A Figyelmeztetések Szűrő, valamint Leírja Figyelmeztetés Szűrők moredetails.,
PYTHONFAULTHANDLER
¶
Ha ez a környezeti változó nem üres karakterláncra van állítva,faulthandler.enable()
indításkor hívják: telepítsen egy kezelőt aSIGSEGV
, SIGFPE
,SIGBUS
ésSIGILL
jelek a Python traceback kiírására. Ez egyenértékű a-X
faulthandler
opcióval.
új verzió 3.3.,
PYTHONTRACEMALLOC
¶
Ha ez a környezeti változó nem üres karakterláncra van állítva, akkor a tracemalloc
modul segítségével indítsa el a tracingPython memória allokációját. A változó értéke az atrace traceback-ben tárolt keretek maximális száma. Például a PYTHONTRACEMALLOC=1
csak a legfrissebb fájlokat tárolja. Lásd a tracemalloc.start()
további információért.
új verzió 3.4.
PYTHONPROFILEIMPORTTIME
¶
Ha ez a környezeti változó nem üres karakterláncra van állítva, a Python megmutatja, mennyi ideig tart minden Importálás., Ez pontosan megegyezik a-X importtime
parancssori beállítással.
új verzió 3.7.
PYTHONASYNCIODEBUG
¶
Ha ez a környezeti változó nem üres karakterláncra van állítva, engedélyezze a asyncio
moduldebug módját.
új verzió 3.4.
PYTHONMALLOC
¶
állítsa be a Python memóriafoglalókat és/vagy telepítse a hibakereső horgokat.,
állítsa be a Python által használt memória-Elosztók családját:
telepítse a hibakereső horgokat:
-
debug
: telepítse a hibakereső horgokat az alapértelmezett memoryallocators tetejére.
malloc_debug
: ugyanaz, mint a malloc
, de telepítsen hibakereső horgokat is.
pymalloc_debug
: ugyanaz, mint a pymalloc
, de telepítsen hibakereső horgokat is.
lásd Az alapértelmezett memóriafoglalókat és aPyMem_SetupDebugHooks()
függvényt (telepítsd a hibakereső horgokat a Pythonmemory allokátorokra).
megváltozott a 3. verzióban.,7: Added the "default"
allocator.
új a 3.6-os verzióban.
PYTHONMALLOCSTATS
¶
ha nem üres karakterláncra van állítva, a Python minden alkalommal kinyomtatja a thepymalloc memória-elosztó statisztikáit, amikor új pymalloc objectarena jön létre, majd leáll.
ezt a változót figyelmen kívül hagyja, ha aPYTHONMALLOC
környezeti változóazmalloc()
A C könyvtár allokátorának kényszerítésére szolgál, vagy az ifPythonpymalloc
támogatás nélkül van konfigurálva.
megváltozott a 3. verzióban.,6: Ez a változó most is használható Python összeállított kiadás mode.It most nincs hatása, ha üres karakterláncra van állítva.
PYTHONLEGACYWINDOWSFSENCODING
¶
ha nem üres karakterláncra van állítva, az alapértelmezett fájlrendszer kódolás és hiba modew visszatér az “mbcs”, illetve a “csere” 3,6 előtti értékeihez.Ellenkező esetben az új “utf-8” és “surrogatepass” alapértékeket használják.
Ez futásidőben is engedélyezhetősys._enablelegacywindowsfsencoding()
.
elérhetőség: Windows.
új verzió 3.6: lásd PEP 529 további részletekért.,
PYTHONLEGACYWINDOWSSTDIO
¶
ha nem üres karakterláncra van állítva, akkor nem használja az új konzololvasót és írót. Ez azt jelenti, hogy a Unicode karakterek kódolva lesznekaz aktív konzolkód oldal, az utf-8 használata helyett.
ezt a változót figyelmen kívül hagyja, ha a szabványos adatfolyamok átirányításra kerülnek (filesor csövekre), nem pedig konzol pufferekre.
elérhetőség: Windows.
új verzió 3.6.,
PYTHONCOERCECLOCALE
¶
Ha a 0
értékre van állítva, akkor a fő Python parancssori alkalmazás a legacy ASCII-alapú C és POSIX helymeghatározásokat egy morecapable UTF-8 alapú alternatívára kényszeríti.,még a kifejezetten ASCII alapú POSIX
nyelv, akkor thePython CLI megpróbálja beállítani a következő helyeken aLC_CTYPE
kategória szerinti sorrendben betöltése előtt a interpreterruntime:
-
C.UTF-8
-
C.utf8
-
UTF-8
Ha a beállítás egy ilyen területi kategória sikerül, akkor a LC_CTYPE
környezeti változó is állítsa be ennek megfelelően a jelenlegi processenvironment, mielőtt a Python futtatókörnyezet inicializálása., Ez biztosítja, hogy mind a tolmács, mind más, ugyanabban a folyamatban futó locale-awarecomponensek (mint például a GNU readline
könyvtár), a frissített beállítás az alfolyamatokban is látható (függetlenül attól, hogy ezek a folyamatok Python-értelmezőt futtatnak-e vagy sem), valamint a környezetet lekérdező műveletekben a jelenlegi C hely helyett(például a Python saját locale.getdefaultlocale()
).,
Konfigurálása egy ilyen nyelv (kifejezetten vagy keresztül a aboveimplicit nyelv kényszerítés) automatikusan lehetővé teszi, hogy a surrogateescape
hiba kezelő sys.stdin
vagysys.stdout
(sys.stderr
továbbra is használja a backslashreplace
, mint bármely más nyelv). Ez a stream kezelési viselkedés lehetoverridden aPYTHONIOENCODING
használatával, mint általában.,
hibakeresés céljából a PYTHONCOERCECLOCALE=warn
beállítás miatt a stderr
figyelmeztető üzeneteket bocsát ki, ha a helyi kényszerítő aktiválódik, vagy ha egy olyan hely, amely kényszerítést váltott volna ki, akkor a Python futásidejének inicializálásakor még aktív.
azt is vegye figyelembe, hogy még akkor is, ha a helyi kényszerítés le van tiltva, vagy ha nem találja meg a megfelelő célterületet, a PYTHONUTF8
továbbra is aktiválja a bydefault-ot a legacy ASCII-alapú helyszíneken., Mindkét funkciót le kell tiltaniaz értelmező kényszerítése a ASCII
használatára a UTF-8
forsystem interfészek helyett.
elérhetőség: * nix.
új verzió 3.7: lásd PEP 538 további részletekért.
PYTHONDEVMODE
¶
Ha ez a környezeti változó nem üres karakterláncra van állítva, enablePython fejlesztési mód, további runtimechecks bevezetése, amelyek alapértelmezés szerint túl drágák ahhoz, hogy engedélyezzék.
új verzió 3.7.,
PYTHONUTF8
¶
ha 1
értékre van állítva, lehetővé teszi az értelmező UTF-8 módjának használatát, ahol a UTF-8
a rendszer interfészek szövegkódolását használja, a jelenlegi helymeghatározástól függetlenül.
Ez azt jelenti, hogy:
sys.getfilesystemencoding()
(a localeencoding figyelmen kívül hagyja).
locale.getpreferredencoding()
returns (a localeencoding figyelmen kívül hagyja, és a függvény paraméter noeffect).,Asurrogateescape
hibakódoló engedélyezve van asys.stdin
éssys.stdout
(sys.stderr
továbbra is használja abackslashreplace
mint az alapértelmezett nyelvtudási módban)
az alacsonyabb szintű API-k változásainak következtében más magasabb szintű API-k is eltérő alapértelmezett viselkedést mutatnak:
parancssori argumentumok, környezeti változók és fájlnevek dekódolása az UTF-8 kódolással történik.,
os.fsdecode()
ésos.fsencode()
használja az UTF-8 kódolást.
open()
,io.open()
éscodecs.open()
alapértelmezés szerint használja az UTF-8encoding-ot. Azonban még mindig használják a szigorú hibakezelő bydefault, hogy megpróbálja megnyitni a bináris fájl szöveges módban valószínű, hogyhogy emelje kivétel helyett termelő értelmetlen adatokat.,
vegye figyelembe, hogy az UTF-8 módban a szabványos adatfolyambeállításokat felülírhatja aPYTHONIOENCODING
(ugyanúgy, mint az alapértelmezett locale-awaremode-ban).
ha0
értékre van állítva, a tolmács alapértelmezett nyelvtudási módban fut.
bármely más nem üres karakterlánc beállítása hibát okoz a tolmácsolás során.,
Ha ez a környezeti változó egyáltalán nincs beállítva, akkor az értelmező defaultsto az aktuális területi beállításokat használja, kivéve, ha az aktuális területi azonosítót örökölt ASCII-alapú területi értékként azonosítják (a PYTHONCOERCECLOCALE
leírtak szerint), és a helyi kényszerítés iseither letiltva vagy sikertelen. Az ilyen régi helyszíneken a tolmács az UTF-8 mód engedélyezését fogja engedélyezni, hacsak kifejezetten nem utasítják erre.
a -X
utf8
opcióként is elérhető.
új verzió 3.7: lásd PEP 540 további részletekért.
1.2.1., Hibakeresési módú változók¶
ezeknek a változóknak a beállítása csak a Python hibakeresési felépítésében van hatással.
PYTHONTHREADDEBUG
¶
Ha be van állítva, a Python kiírja a menetvágási hibakeresési információkat.
kell Python konfigurálva a --with-pydebug
build opciót.
PYTHONDUMPREFS
¶
Ha be van állítva, a Python kiírja az objektumokat, és a Hivatkozási szám még mindig életben van a tolmács lenyomása után.
kell Python konfigurálva a --with-trace-refs
build opciót.