1.2. Miljøvariabler¶
Disse miljøvariabler påvirker Python ‘ s oppførsel, de er processedbefore command-line switches andre enn -E eller -I. Det er vanlig thatcommand-line switches overstyre miljømessige variabler der det er aconflict.
PYTHONHOME
¶
du vil Endre plasseringen av standard Python biblioteker., Som standard, thelibraries søkes i prefix/lib/pythonversion
ogexec_prefix/lib/pythonversion
, der prefix
ogexec_prefix
installasjonen er avhengige av kataloger, både defaultingto /usr/local
.
Ved PYTHONHOME
er satt til en enkelt katalog, dets verdi replacesboth prefix
og exec_prefix
. For å angi forskjellige valuesfor disse, sett PYTHONHOME
til prefix:exec_prefix
.
PYTHONPATH
¶
Forsterke standard søk banen for modul-filer., Formatet er det samme asthe shells PATH
: ett eller flere katalogen pathnames adskilt medos.pathsep
(f.eks. kolon på Unix eller semikolon på Windows).Ikke-eksisterende kataloger stille ignorert.
I tillegg til vanlige kataloger, individuelle PYTHONPATH
entriesmay se zipfiles inneholder ren Python-moduler (i enten kilde orcompiled form). Extension moduler, kan ikke importeres fra zipfiles.,
standard søk banen er installasjon avhengige, men det er vanligvis begynner medprefix/lib/pythonversion
(se PYTHONHOME
ovenfor). Itis alltid lagt PYTHONPATH
.
En ekstra katalogen vil bli satt inn i søk-banen i front avPYTHONPATH
som beskrevet ovenfor underInterface valg. Søk banen kan bli manipulert fromwithin et Python-program som variabel sys.path
.
PYTHONPLATLIBDIR
¶
Hvis dette er satt til en ikke-tom streng, det overstyrer sys.platlibdir
verdi.,
Ny i versjon 3.9.
PYTHONSTARTUP
¶
Hvis dette er navnet på en lesbar fil, Python-kommandoene i filen areexecuted før den første ledeteksten vises i interaktiv modus. Den fileis utført i samme navnerom hvor interaktive kommandoer utføres såat objekter som er definert eller importert i den kan brukes uten kvalifisering i interaktiv sesjon. Du kan også endre ledetekster sys.ps1
ogsys.ps2
og kroken sys.__interactivehook__
i denne filen.,
Hever en revisjon event cpython.run_startup
med filnavnet som argument når de kalles ved oppstart.
PYTHONOPTIMIZE
¶
Hvis dette er satt til en ikke-tom streng er det likeverdig med å spesifisere-O
alternativ. Hvis verdien er et heltall, det er det samme som å angi-O
flere ganger.
PYTHONBREAKPOINT
¶
Hvis dette er aktivert, er det et navn callable med stiplede-bane-notasjon., Den modulecontaining den callable vil bli importert og deretter callable vil være runby standard gjennomføring av sys.breakpointhook()
som i seg selv kalt av bygget-i breakpoint()
. Hvis ikke angitt, eller satt til emptystring, det tilsvarer verdien «pdb.set_trace». Innstillingen dette til thestring «0» årsaker standard gjennomføring av sys.breakpointhook()
for å gjøre noe, men for å returnere umiddelbart.
Ny i versjon 3.7.,
PYTHONDEBUG
¶
Hvis dette er satt til en ikke-tom streng er det likeverdig med å spesifisere-d
alternativ. Hvis verdien er et heltall, det er det samme som å angi-d
flere ganger.
PYTHONOLDPARSER
¶
Hvis dette er satt til en ikke-tom streng, kan du aktivere den tradisjonelle LL(1) – parser.
Se også -X
oldparser
valg og PEP 617.
Avskrevet siden versjon 3.9, vil bli fjernet i versjon 3.10.,
PYTHONINSPECT
¶
Hvis dette er satt til en ikke-tom streng er det likeverdig med å spesifisere-i
alternativ.
Denne variabelen kan også bli modifisert av Python-kode ved bruk av os.environ
for å tvinge inspisere modus på programmet oppsigelse.
PYTHONUNBUFFERED
¶
Hvis dette er satt til en ikke-tom streng er det likeverdig med å spesifisere-u
alternativ.
PYTHONVERBOSE
¶
Hvis dette er satt til en ikke-tom streng er det likeverdig med å spesifisere-v
alternativ., Hvis verdien er et heltall, det er det samme som å angi-v
flere ganger.
PYTHONCASEOK
¶
Hvis dette er satt, Python ignorerer store / små bokstaver i import
uttalelser. Thisonly fungerer på Windows og OS X.
PYTHONDONTWRITEBYTECODE
¶
Hvis dette er satt til en ikke-tom streng, Python vil ikke prøve å skrive .pyc
filer på import av kilde moduler. Dette er tilsvarende tospecifying -B
alternativ.,
PYTHONPYCACHEPREFIX
¶
Hvis dette er satt, Python vil skrive .pyc
filer i et speil katalog treeat denne veien, i stedet for i __pycache__
kataloger innenfor sourcetree. Dette er ekvivalent med å spesifisere -X
pycache_prefix=PATH
alternativ.
Ny i versjon 3.8.
PYTHONHASHSEED
¶
Hvis denne variabelen er ikke sett eller satt til random
, en tilfeldig verdi er usedto frø-hasher av str og byte objekter.,
Hvis PYTHONHASHSEED
er satt til et heltall, det er brukt som en fixedseed for å generere hash() av typene dekket av hashrandomization.
formålet er å tillate repeterbare nummerering, slik som for selftests for theinterpreter seg selv, eller tillate at en klynge av python prosesser for å dele hashvalues.
heltall som må være et desimaltall i området . Specifyingthe verdien 0 vil deaktivere hash randomisering.
Ny i versjon 3.2.3.,
PYTHONIOENCODING
¶
Hvis dette er satt før du kjører tolk, er det overstyrer koding usedfor stdin/stdout/stderr, i syntaksen encodingname:errorhandler
. Boththe encodingname
og :errorhandler
deler er valgfritt å havethe samme betydning som i str.encode()
.
For stderr, :errorhandler
del er ignorert; behandleren vil alltid være'backslashreplace'
.
Endret i versjon 3.4: encodingname
del er nå valgfritt.
Endret i versjon 3.,6: På Windows, koding som er angitt av denne variabelen er ignorert for interactiveconsole buffere mindre PYTHONLEGACYWINDOWSSTDIO
er også angitt.Filer og rør omdirigert gjennom standard bekker er ikke berørt.
PYTHONNOUSERSITE
¶
Hvis dette er satt, Python vil ikke legge til user site-packages directory
til sys.path
.,
Se også
PEP 370 – Per bruker nettstedet-pakker katalogen
PYTHONUSERBASE
¶
Definerer user base directory
, som er brukt tocompute banen av user site-packages directory
og Distutils installasjon stier forpython setup.py install --user
.
Se også
PEP 370 – Per bruker nettstedet-pakker katalogen
PYTHONEXECUTABLE
¶
Hvis dette miljøet variabelen er angitt, sys.argv
vil bli satt til itsvalue i stedet for verdien som fikk gjennom C runtime. Fungerer bare onMac OS X.,
PYTHONWARNINGS
¶
Dette er det samme som -W
alternativ. Hvis det er angitt en commaseparated streng, er det likeverdig med å spesifisere -W
multipletimes, med filtre senere i listen tar forrang over de earlierin listen.
Den enkleste innstillingene gjelder en bestemt handling ubetinget til allwarnings slippes ut av en prosess (selv de som ellers ignoreres 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
Se Advarsler Filter og Beskrive Advarsel Filtre for moredetails.,
PYTHONFAULTHANDLER
¶
Hvis dette miljø-variabelen er satt til en ikke-tom streng,faulthandler.enable()
kalles ved oppstart: installere et behandlingsprogram forSIGSEGV
, SIGFPE
, SIGABRT
, SIGBUS
ogSIGILL
signaler til å dumpe Python traceback. Dette tilsvarer-X
faulthandler
alternativ.
Ny i versjon 3.3.,
PYTHONTRACEMALLOC
¶
Hvis dette miljø-variabelen er satt til en ikke-tom streng, start tracingPython minne avsetninger bruk av tracemalloc
modulen. Verdien ofthe variabel er maksimalt antall bilder som er lagret i en traceback av atrace. For eksempel, PYTHONTRACEMALLOC=1
lagrer bare de mest recentframe. Se tracemalloc.start()
for mer informasjon.
Ny i versjon 3.4.
PYTHONPROFILEIMPORTTIME
¶
Hvis dette miljø-variabelen er satt til en ikke-tom streng, Python willshow hvor lenge hver import tar., Dette er nøyaktig tilsvarer innstillingen-X importtime
på kommandolinjen.
Ny i versjon 3.7.
PYTHONASYNCIODEBUG
¶
Hvis dette miljø-variabelen er satt til en ikke-tom streng, aktivere thedebug modus av asyncio
modulen.
Ny i versjon 3.4.
PYTHONMALLOC
¶
Angi Python minne allocators og/eller installere debug kroker.,
Angi familien minne allocators brukes av Python:
Installer debug kroker:
-
debug
: installer debug kroker på toppen av standard memoryallocators. -
malloc_debug
: samme sommalloc
men også installere debug kroker. -
pymalloc_debug
: samme sompymalloc
men også installere debug kroker.
Se standard minne allocators ogPyMem_SetupDebugHooks()
funksjon (installer debug kroker på Pythonmemory allocators).
Endret i versjon 3.,7: Lagt "default"
tildeleren.
Ny i versjon 3.6.
PYTHONMALLOCSTATS
¶
Hvis det er angitt en ikke-tom streng, Python vil skrive ut statistikk over thepymalloc minne tildeleren hver gang en ny pymalloc objectarena er opprettet, og på nedleggelse.
Denne variabelen er ignorert hvis PYTHONMALLOC
miljø variableis brukes til å tvinge malloc()
tildeleren av C-biblioteket, eller ifPython er konfigurert uten pymalloc
støtte.
Endret i versjon 3.,6: Denne variabelen kan nå også brukes på Python samlet i release-modus.Det har nå ingen effekt hvis verdien en tom streng.
PYTHONLEGACYWINDOWSFSENCODING
¶
Hvis det er angitt en ikke-tom streng, standard filsystem koding og feil modewill gå tilbake til sin pre-3.6 verdien av «mbcs’ og ‘erstatt’, henholdsvis.Ellers er den nye standarder ‘utf-8’ og ‘surrogatepass’ er brukt.
Dette kan også aktiveres ved kjøring medsys._enablelegacywindowsfsencoding()
.
Tilgjengelighet: Windows.
Ny i versjon 3.6: Se PEP 529 for mer informasjon.,
PYTHONLEGACYWINDOWSSTDIO
¶
Hvis det er angitt en ikke-tom streng, ikke bruk den nye konsollen leser andwriter. Dette betyr at Unicode-tegn skal kodes i henhold til aktiv konsollen kode side, heller enn å bruke utf-8.
Denne variabelen er ignorert hvis standard bekker er omdirigert (til filesor rør) snarere enn å henvise til konsollen-bufferen.
Tilgjengelighet: Windows.
Ny i versjon 3.6.,
PYTHONCOERCECLOCALE
¶
Hvis satt til verdien 0
, forårsaker den viktigste Python kommandolinjen applicationto hoppe coercing arven ASCII-basert C og POSIX nasjonale innstillinger til en morecapable UTF-8-basert alternativ.,annet eksplisitt ASCII-basert POSIX
nasjonale innstillinger, deretter thePython CLI vil forsøke å konfigurere følgende steder iLC_CTYPE
kategori i den rekkefølgen de står oppført før du legger i interpreterruntime:
-
C.UTF-8
-
C.utf8
-
UTF-8
Hvis innstillingen en av disse nasjonale kategorier lykkes, så LC_CTYPE
miljø-variabelen vil også bli satt deretter i nåværende processenvironment før Python runtime er initialisert., Dette sikrer at inaddition til å bli sett av både tolken selv og andre nasjonale innstillinger-awarecomponents kjører i samme prosess (for eksempel GNU readline
bibliotek), den oppdaterte innstillingen er også sett i subprocesses (uavhengig ofwhether eller ikke de prosesser som kjører en Python interpreter), samt emne operasjoner som spørring miljøet heller enn dagens C nasjonale innstillinger(for eksempel Python ‘ s egne locale.getdefaultlocale()
).,
Konfigurere et av disse stedene (enten uttrykkelig eller via aboveimplicit nasjonale innstillinger tvang) aktiverer automatisk surrogateescape
feilbehandleren for sys.stdin
ogsys.stdout
(sys.stderr
fortsetter å bruke backslashreplace
som det gjør i andre nasjonale innstillinger). Denne strømmen håndtering av atferd kan beoverridden ved hjelp av PYTHONIOENCODING
som vanlig.,
For feilsøking, sette PYTHONCOERCECLOCALE=warn
vil causePython til å sende ut advarsler på stderr
hvis enten den nasjonale innstillinger coercionactivates, eller annet hvis en innstilling som ville ha utløst tvang isstill aktiv når Python runtime er initialisert.
merk Også at selv når nasjonale innstillinger tvang er deaktivert, eller når det ikke tofind et egnet mål locale, PYTHONUTF8
vil fortsatt aktivere bydefault i legacy-ASCII-baserte nasjonale innstillinger., Begge funksjoner skal være deaktivert inorder å tvinge tolken til å bruke ASCII
i stedet for UTF-8
forsystem grensesnitt.
Tilgjengelighet: *nix.
Ny i versjon 3.7: Se PEP 538 for mer informasjon.
PYTHONDEVMODE
¶
Hvis dette miljø-variabelen er satt til en ikke-tom streng, enablePython Utvikling-Modus, innføre ytterligere runtimechecks som er for dyrt til å være aktivert som standard.
Ny i versjon 3.7.,
PYTHONUTF8
¶
Hvis 1
, kan tolken er UTF-8-modus, der UTF-8
isused som tekst-koding for systemets grensesnitt, uavhengig av thecurrent nasjonale innstillingen.
Dette betyr at:
sys.getfilesystemencoding()
tilbake'UTF-8'
(den localeencoding er ignorert).
locale.getpreferredencoding()
tilbake'UTF-8'
(den localeencoding er ignorert, og funksjonen erdo_setlocale
– parameteren har noeffect).,F-8 som sine tekst-koding, medsurrogateescape
feilbehandleren være aktivert forsys.stdin
ogsys.stdout
(sys.stderr
fortsetter å brukebackslashreplace
som det gjør i standard locale-klar-modus)
Som en konsekvens av endringer i de lavere nivå Api-er, andre higherlevel Api også ha forskjellige standard atferd:
kommandolinje-argumenter, miljøvariabler og filnavn decodedto tekst ved å bruke UTF-8-koding.,
os.fsdecode()
ogos.fsencode()
bruke UTF-8-koding.
open()
,io.open()
, ogcodecs.open()
bruke UTF-8encoding som standard. Men, de fremdeles bruker den strenge feilbehandleren bydefault slik at du forsøker å åpne en binær fil i tekst-modus er likelyto heve et unntak snarere enn å produsere tull data.,
Merk som standard stream innstillinger i UTF-8-modus kan overstyres avPYTHONIOENCODING
(akkurat som de kan være i standard locale-awaremode).
Hvis 0
, tolken går i sin standard locale-klar-modus.
Angi alle andre ikke-tom streng forårsaker en feil under interpreterinitialisation.,
Hvis denne miljøvariabelen ikke er satt i det hele tatt, da tolken defaultsto med gjeldende nasjonale innstillinger, med mindre gjeldende nasjonale innstillinger isidentified som en arv ASCII-baserte nasjonale innstillinger(som beskrevet for PYTHONCOERCECLOCALE
), og nasjonale innstillinger tvang iseither deaktivert eller ikke. I slike eldre lokaliteter, tolken willdefault å aktivere UTF-8-modus med mindre annet uttrykkelig er instruert til ikke å gjøre det.
Også tilgjengelig som -X
utf8
alternativ.
Ny i versjon 3.7: Se PEP 540 for mer informasjon.
1.2.1., Debug-modus variabler¶
Sette disse variablene har kun en effekt i en debug-versjon av Python.
PYTHONTHREADDEBUG
¶
Hvis satt, Python vil skrive ut threading debug-info.
Trenger Python konfigurert med --with-pydebug
bygge alternativet.
PYTHONDUMPREFS
¶
Hvis satt, Python vil dumpe objekter og referanse teller fortsatt i live aftershutting ned tolk.
Trenger Python konfigurert med --with-trace-refs
bygge alternativet.