1. 2. Ympäristömuuttujat¶
Nämä ympäristömuuttujat vaikuttavat Python käyttäytymistä, ne ovat muutoksenhaku komentorivivalitsimista muut kuin -E tai -I, Se on tapana thatcommand-line kytkimet ohittaa ympäristön muuttujia, joissa on aconflict.
PYTHONHOME
¶
Vaihda sijainti standardin Python kirjastot., Oletuksena, thelibraries on etsinyt prefix/lib/pythonversion
jaexec_prefix/lib/pythonversion
, jossa prefix
jaexec_prefix
ovat asennus-riippuvainen hakemistoja, sekä defaultingto /usr/local
.
Kun PYTHONHOME
on asetettu yhdeksi hakemistoon, sen arvo replacesboth prefix
ja exec_prefix
. Eriteltäessä näille erilaisia arvoja asetetaan PYTHONHOME
prefix:exec_prefix
.
PYTHONPATH
¶
Laajentaa oletuksena haku polku module-tiedostot., Muoto on sama kuin shellin PATH
: yhden tai useamman hakemiston pathnames erotettuos.pathsep
(esim. kaksoispistettä Unix-tai puolipistettä Windows).Olemattomat hakemistot jätetään hiljaa huomiotta.
lisäksi normaalin hakemistoja, yksittäisen PYTHONPATH
entriesmay viittaavat zipfiles sisältää puhdasta Python moduulit (joko lähde orcompiled lomake). Laajennusmoduuleja ei voida tuoda zipfilesistä.,
oletuksena haku polku on asennus riippuvainen, mutta yleensä alkaaprefix/lib/pythonversion
(katso PYTHONHOME
edellä). Itis on aina liitetty PYTHONPATH
.
lisää hakemisto lisätään hakupolkuun edessäPYTHONPATH
kuten edellä on kuvattu underInterface vaihtoehtoja. Hakupolkua voidaan manipuloida Python-ohjelman avulla muuttujana .
PYTHONPLATLIBDIR
¶
Jos tämä asetus on ei-tyhjä merkkijono, se syrjäyttää sys.platlibdir
arvo.,
uusi versiossa 3.9.
PYTHONSTARTUP
¶
Jos tämä on nimi luettava tiedosto, Python-komentoja, että tiedosto areexecuted ennen kuin ensimmäinen kehote on näkyvissä interactive mode-tilassa. Fileis suoritetaan samassa nimiavaruudessa, jossa Interaktiiviset komennot suoritetaan niin, että siinä määriteltyjä tai tuotuja esineitä voidaan käyttää ilman pätevyyttä interaktiivisessa istunnossa. Voit myös muuttaa ohjeita sys.ps1
jasys.ps2
ja koukku sys.__interactivehook__
tämän tiedoston.,
Herättää tilintarkastus tapauksessa cpython.run_startup
kanssa tiedostonimi argumenttina, kun kutsutaan startup.
PYTHONOPTIMIZE
¶
Jos tämä asetus on ei-tyhjä merkkijono, se vastaa täsmennetään-O
vaihtoehto. Jos se asetetaan kokonaislukuun, se vastaa määritystä-O
useita kertoja.
PYTHONBREAKPOINT
¶
Jos tämä on asetettu, se nimeää vaadittaessa käyttää pilkullinen polku merkintätapa., Se modulecontaining vaadittaessa maksettavan tuodaan ja sitten lunastaa takaisin on-set oletus täytäntöönpanoa sys.breakpointhook()
joka itsessään iscalled sisäänrakennettu breakpoint()
. Jos sitä ei aseteta tai aseteta tyhjäksi, se vastaa arvoa ”pdb.set_trace (suom. Tämän asettaminen ”0”: een saa sys.breakpointhook()
: n oletustoteutuksen vain palaamaan välittömästi.
uusi versiossa 3.7.,
PYTHONDEBUG
¶
Jos tämä asetus on ei-tyhjä merkkijono, se vastaa täsmennetään-d
vaihtoehto. Jos se asetetaan kokonaislukuun, se vastaa määritystä-d
useita kertoja.
PYTHONOLDPARSER
¶
Jos tämä asetus on ei-tyhjä merkkijono, jotta perinteinen LL(1) – jäsennin.
Katso myös -X
oldparser
vaihtoehto ja PEP 617.
Deprecated koska versio 3.9, poistetaan versiossa 3.10.,
PYTHONINSPECT
¶
Jos tämä asetus on ei-tyhjä merkkijono, se vastaa täsmennetään-i
vaihtoehto.
Tämä muuttuja voi myös olla muutettu Python koodia käyttäen os.environ
pakottaa tarkastaa tilassa ohjelman päättymisestä.
PYTHONUNBUFFERED
¶
Jos tämä asetus on ei-tyhjä merkkijono, se vastaa täsmennetään-u
vaihtoehto.
PYTHONVERBOSE
¶
Jos tämä asetus on ei-tyhjä merkkijono, se vastaa täsmennetään-v
vaihtoehto., Jos se asetetaan kokonaislukuun, se vastaa määritystä useita kertoja.
PYTHONCASEOK
¶
Jos tämä on asetettu, Python sivuutetaan tapauksessa import
lausunnot. Thisonly toimii Windows ja OS X.
PYTHONDONTWRITEBYTECODE
¶
Jos tämä asetus on ei-tyhjä merkkijono, Python ei yritä kirjoittaa .pyc
tiedostot tuonti lähde moduulit. Tämä vastaa -B
– vaihtoehtoa.,
PYTHONPYCACHEPREFIX
¶
Jos tämä on asetettu, Python kirjoittaa .pyc
tiedostot peili hakemistoon treeat tämä polku, sen sijaan __pycache__
hakemistot sisällä sourcetree. Tämä vastaa täsmennetään -X
pycache_prefix=PATH
vaihtoehto.
uusi versiossa 3.8.
PYTHONHASHSEED
¶
Jos tämä muuttuja ei ole asetettu tai se on asetettu random
, satunnainen arvo on joskus siemen hash str ja tavua esineitä.,
– Jos PYTHONHASHSEED
on kokonaisluku, sitä käytetään fixedseed tuottaa hash() tyypit piiriin hashrandomization.
Sen tarkoituksena on mahdollistaa toistettavissa hajautus, kuten selftests varten theinterpreter itse, tai antaa klusterin python prosesseja jakaa hashvalues.
kokonaisluvun on oltava desimaaliluku alueella . Määrittely arvo 0 poistaa hash satunnaistaminen.
uusi versiossa 3.2.3.,
PYTHONIOENCODING
¶
Jos tämä on asetettu ennen käynnissä tulkki, se ohittaa koodaus käyttää stdin/stdout/stderr, vuonna syntaksi encodingname:errorhandler
. Toimielinten encodingname
ja :errorhandler
osat ovat valinnaisia ja annetaan sama merkitys kuin str.encode()
.
Varten stderr, :errorhandler
osa on huomiotta; ohjaajan tulee aina olemaan'backslashreplace'
.
Muuttunut versio 3.4: encodingname
osa on nyt valinnainen.
muuttui versiossa 3.,6: Windows -, koodaus määritelty muuttuja on huomiotta interactiveconsole puskurit, ellei PYTHONLEGACYWINDOWSSTDIO
on myös määritelty.Standardivirtojen läpi ohjatut tiedostot ja putket eivät vaikuta.
PYTHONNOUSERSITE
¶
Jos tämä on asetettu, Python ei lisää user site-packages directory
ja sys.path
.,
Katso myös
PEP 370 – Per käyttäjä site-packages-hakemistoon
PYTHONUSERBASE
¶
Määritellään user base directory
, jota käytetään tocompute polku user site-packages directory
ja Distutils asennus polkujapython setup.py install --user
.
Katso myös
PEP 370 – Per käyttäjä site-packages-hakemistoon
PYTHONEXECUTABLE
¶
Jos tämä ympäristömuuttuja on asetettu, sys.argv
asetetaan arvo liki arvon sijasta on kautta C runtime. Toimii vain OS X: llä.,
PYTHONWARNINGS
¶
Tämä vastaa -W
vaihtoehto. Jos asetettu commaseparated merkkijono, se vastaa täsmennetään -W
multipletimes, suodattimet myöhemmin luettelossa ohittamatta niitä earlierin luettelosta.
yksinkertaisin asetukset eivät koske tiettyä toimintaa ehdoitta allwarnings synnyttämä prosessi (jopa ne, jotka ovat muuten huomiotta 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
Katso Varoitukset Suodatin ja Kuvataan Varoitus Suodattimet moredetails.,
PYTHONFAULTHANDLER
¶
Jos tämä ympäristömuuttuja on asetettu ei-tyhjä merkkijono,faulthandler.enable()
kutsutaan käynnistettäessä: asenna handler forSIGSEGV
, SIGFPE
, SIGABRT
, SIGBUS
jaSIGILL
signaalit upottaa Python kehittäjä. Tämä vastaa-X
faulthandler
vaihtoehto.
uusi versiossa 3.3.,
PYTHONTRACEMALLOC
¶
Jos tämä ympäristömuuttuja on asetettu ei-tyhjä merkkijono, alku tracingPython muistin jakaminen käyttämällä tracemalloc
moduuli. Muuttujan arvo on atracen jäljitettävyyteen tallennettujen kehysten enimmäismäärä. Esimerkiksi PYTHONTRACEMALLOC=1
tallentaa vain uusintaversion. Katso lisätietoja tracemalloc.start()
.
uusi versiossa 3.4.
PYTHONPROFILEIMPORTTIME
¶
Jos tämä ympäristömuuttuja on asetettu ei-tyhjä merkkijono, Python willshow, kuinka kauan tuo kestää., Tämä vastaa täsmälleen asetettaessa-X importtime
komentoriville.
uusi versiossa 3.7.
PYTHONASYNCIODEBUG
¶
Jos tämä ympäristömuuttuja on asetettu ei-tyhjä merkkijono, jotta thedebug tila asyncio
moduuli.
uusi versiossa 3.4.
PYTHONMALLOC
¶
Aseta Python muisti allocators ja/tai asentaa debug koukut.,
Asettaa perheen muisti allocators käyttää Python:
Asenna debug koukut:
-
debug
: asenna debug koukut päälle oletuksena memoryallocators. -
malloc_debug
: sama kuinmalloc
mutta myös asentaa debug koukut. -
pymalloc_debug
: sama kuinpymalloc
mutta myös asentaa debug koukut.
Katso default muisti allocators jaPyMem_SetupDebugHooks()
toiminto (asenna debug koukut Pythonmemory allocators).
muuttui versiossa 3.,7: Lisätty "default"
allocator.
uusi versiossa 3.6.
PYTHONMALLOCSTATS
¶
Jos asetuksena on ei-tyhjä merkkijono, Python tulostaa tilastoja thepymalloc muisti allocator joka kerta uusi pymalloc objectarena on luotu, ja sammutus.
Tämä muuttuja jätetään huomiotta, jos PYTHONMALLOC
ympäristö variableis käyttää pakottamaan malloc()
allocator C-kirjaston, tai ifPython on määritetty ilman pymalloc
tue.
muuttui versiossa 3.,6: Tämä muuttuja voidaan nyt käyttää myös Python koottu julkaisu mode.It nyt ei ole vaikutusta, jos asetettu tyhjään merkkijonoon.
PYTHONLEGACYWINDOWSFSENCODING
¶
Jos asetuksena on ei-tyhjä merkkijono, oletus tiedostojärjestelmä koodaus ja virheitä modewill palautetaan niiden pre-3.6 arvoihin mbcs’ ja ’korvaa’, vastaavasti.Muussa tapauksessa käytetään uusia oletusarvoja ”utf-8” ja ”surrogatepass”.
Tämä voidaan ottaa käyttöön myös ajettaessasys._enablelegacywindowsfsencoding()
.
Saatavuus: Windows.
uusi versiossa 3.6: katso lisätietoja PEP 529: stä.,
PYTHONLEGACYWINDOWSSTDIO
¶
Jos asetuksena on ei-tyhjä merkkijono, ei käytä uusi konsoli lukija andwriter. Tämä tarkoittaa, että Unicode-merkit koodataan active console code-sivun mukaan utf-8: n sijaan.
Tämä muuttuja jätetään huomiotta, jos standardi purot ohjataan (voit filesor putket) sen sijaan, että viitataan konsoli-puskureita.
Saatavuus: Windows.
uusi versiossa 3.6.,
PYTHONCOERCECLOCALE
¶
Jos asetettu arvo 0
aiheuttaa tärkeimmät Python komentoriviltä sovelluksen ohittaa pakottaminen perintö ASCII-pohjainen C-ja POSIX-valinta on morecapable UTF-8 pohjainen vaihtoehtoisia.,muuten nimenomaisesti ASCII-pohjainen POSIX
locale, sitten thePython CLI yrittää määrittää seuraavat localesLC_CTYPE
luokka järjestyksessä ennen lastausta interpreterruntime:
-
C.UTF-8
-
C.utf8
-
UTF-8
Jos asetus yksi näistä locale luokat onnistuu, niin LC_CTYPE
ympäristö muuttuja on myös asetettu vastaavasti nykyisessä processenvironment ennen Python runtime on alustettu., Näin varmistetaan, että komissio on nähnyt sekä tulkki itse ja muut maa-awarecomponents käynnissä sama prosessi (kuten GNU readline
library), päivitetty asetus on myös nähty subprocesses (riippumatta ofwhether tai ei nuo prosessit ovat käynnissä Python-tulkki), sekä asin toimintaa, että kyselyn ympäristöön eikä nykyisen C locale(kuten Python oman locale.getdefaultlocale()
).,
Määrittäminen yksi näistä kohteista (joko suoraan tai kautta aboveimplicit locale pakottamista) automaattisesti mahdollistaa surrogateescape
error handler for sys.stdin
jasys.stdout
(sys.stderr
käyttää edelleen backslashreplace
koska se ei missään muussa locale). Tämä virrankäsittelykäyttäytyminen voidaan siirtää käyttäen PYTHONIOENCODING
: tä tavalliseen tapaan.,
virheenkorjausta Varten, jossa PYTHONCOERCECLOCALE=warn
tulee causePython päästää varoitus viestejä stderr
jos jompikumpi kieliversio coercionactivates, tai muuten jos locale, että olisi laukaissut pakottamista edelleen aktiivinen, kun Python runtime on alustettu.
huomaa Myös, että vaikka locale pakottaminen on poistettu käytöstä, tai kun sitä ei energianne häiritsee sopiva kohde locale, PYTHONUTF8
tulee vielä aktivoida bydefault perintö ASCII-pohjainen valinta., Molemmat ominaisuudet on otettava pois käytöstä, jotta voima tulkki käyttää ASCII
sijaan UTF-8
forsystem rajapintoja.
saatavuus: *nix.
uusi versiossa 3.7: katso lisätietoja PEP 538: sta.
PYTHONDEVMODE
¶
Jos tämä ympäristömuuttuja on asetettu ei-tyhjä merkkijono, enablePython Kehityksen Tilassa, että otetaan käyttöön uusia runtimechecks, että on liian kallista olla käytössä oletuksena.
uusi versiossa 3.7.,
PYTHONUTF8
¶
Jos asetuksena on 1
, mahdollistaa sen, että tulkki on UTF-8 tilassa, jossa UTF-8
isused kuin tekstin koodaus järjestelmän rajapinnat, riippumatta siitä, nykyinen maa-asetuksen.
Tämä tarkoittaa, että:
sys.getfilesystemencoding()
palaa'UTF-8'
(the localeencoding ei huomioida).
locale.getpreferredencoding()
palaa'UTF-8'
(the localeencoding on jätetty huomiotta, ja toiminto ondo_setlocale
parametri on noeffect).,F-8, koska niiden tekstin koodaus, jossasurrogateescape
error handler on käytössäsys.stdin
jasys.stdout
(sys.stderr
käyttää edelleenbackslashreplace
koska se ei oletuksena locale-tietoinen tila)
seurauksena muutoksia niiden alemman tason Api, muut niitä tärkeämmän APIs esiintyy myös eri oletuksena käyttäytymistä:
komentoriviltä argumentteja, ympäristömuuttujat ja tiedostonimet ovat decodedto tekstiä käyttämällä UTF-8-koodausta.,
os.fsdecode()
jaos.fsencode()
käyttää UTF-8-koodausta.
open()
,io.open()
jacodecs.open()
käytä UTF-8encoding oletuksena. He käyttävät kuitenkin edelleen tiukkaa virheenkäsittelijä bydefault niin, että yrittää avata binary tiedoston tekstitilassa on likely nostaa poikkeus sijaan tuottaa hölynpölyä tietoja.,
Huomaa, että standardi virta-asetuksista UTF-8-tilassa voidaan ohittaaPYTHONIOENCODING
(vain koska ne voivat olla oletuksena locale-awaremode).
Jos asetuksena on 0
tulkki toimii sen default locale-tietoinen tila.
minkä tahansa muun ei-tyhjän merkkijonon asettaminen aiheuttaa virheen tulkinnan aikana.,
Jos tämä ympäristömuuttuja ei ole asetettu lainkaan, niin tulkki defaultsto käyttämällä nykyisen maa-asetukset, ellei nykyisen locale isidentified perintö ASCII-pohjainen locale(kuten on kuvattu PYTHONCOERCECLOCALE
), ja locale pakottamista iseither käytöstä tai epäonnistuu. Tällaisessa legacy locales-järjestelmässä tulkki pystyy mahdollistamaan UTF-8-tilan, ellei sitä nimenomaisesti käsketä olemaan tekemättä niin.
saatavana Myös -X
utf8
vaihtoehto.
uusi versiossa 3.7: katso lisätietoja PEP 540: stä.
1.2.1., Debug-moodin muuttujat¶
näiden muuttujien asettamisella on vaikutusta vain Pythonin debug-kokoonpanossa.
PYTHONTHREADDEBUG
¶
Jos määritetty, Python tulostaa ketjuttaminen debug info.
tarvitsevat Pythonia, joka on määritetty --with-pydebug
build-vaihtoehdolla.
PYTHONDUMPREFS
¶
Jos määritetty, Python heittää esineitä ja viite laskee vielä elossa aftershutting alas tulkki.
tarvitsevat Pythonia, joka on määritetty --with-trace-refs
build-vaihtoehdolla.