man/dev_and_programming
man · Geliştirme & Programlama

$ python3

Bölüm 1 · Geliştirme & Programlama

yorumlamalı, etkileşimli, nesne yönelimli bir programlama dili

Özet

       python [ -B ] [ -b ] [ -d ] [ -E ] [ -h ] [ -i ] [ -I ]
	      [ -m module-name ] [ -q ] [ -R ] [ -O ] [ -OO ] [ -P ] [ -s ] [ -S ] [ -u ]
	      [ -v ] [ -V ] [ -W argument ] [ -x ] [ -X option ] [ -?  ]
	      [ --check-hash-based-pycs default | always | never ]
	      [ --help ] [ --help-env ] [ --help-xoptions ] [ --help-all ]
	      [ -c command | script | - ] [ arguments ]

Açıklama

Python; olağanüstü gücü çok net bir söz dizimiyle birleştiren, yorumlamalı, etkileşimli, nesne yönelimli bir programlama dilidir. Python'da programlamaya giriş için Python Eğitici Kitabı'na (Python Tutorial) bakın. Python Kütüphane Başvurusu (Python Library Reference) yerleşik ve standart türleri, sabitleri, işlevleri ve modülleri belgeler. Son olarak, Python Başvuru Kılavuzu (Python Reference Manual) çekirdek dilin söz dizimini ve semantiğini (belki de fazlasıyla) ayrıntılı bir şekilde açıklar. (Bu belgelere aşağıdaki İNTERNET KAYNAKLARI aracılığıyla ulaşılabilir; ayrıca sisteminize de yüklenmiş olabilirler.)

Python'ın temel gücü, C veya C++ dillerinde yazılmış kendi modüllerinizle genişletilebilir. Çoğu sistemde bu modüller dinamik olarak yüklenebilir. Python ayrıca mevcut uygulamalar için bir genişletme dili olarak uyarlanabilir. İpuçları için dahili belgelere bakın.

Kurulu Python modülleri ve paketlerine ait belgeler, pydoc programı çalıştırılarak görüntülenebilir.

Komut Satırı Seçenekleri

  • -B: İçe aktarma (import) sırasında .pyc dosyaları yazmaz. Ayrıca bkz. PYTHONDONTWRITEBYTECODE.

  • -b: str(bytes_instance), str(bytearray_instance) ve bytes/bytearray ile str karşılaştırmaları hakkında uyarılar verir. (-bb: hatalar verir)

-c command Yürütülecek komutu belirtir (sonraki bölüme bakın). Bu, seçenek listesini sonlandırır (sonraki seçenekler komuta argüman olarak aktarılır).

--check-hash-based-pycs mode Python'ın hash tabanlı .pyc dosyalarının güncelliğini nasıl değerlendireceğini yapılandırır.

  • -d: Ayrıştırıcı (parser) hata ayıklama çıktısını etkinleştirir (derleme seçeneklerine bağlı olarak yalnızca uzmanlar içindir).

  • -E: Yorumlayıcının davranışını değiştiren PYTHONPATH ve PYTHONHOME gibi ortam değişkenlerini yoksayar.

  • -h ,: -? , --help Yorumlayıcı yürütülebilir dosyasının kullanımını yazdırır ve çıkış yapar.

--help-env Python'a özgü ortam değişkenleri hakkında yardım yazdırır ve çıkış yapar.

--help-xoptions Uygulamaya özgü -X seçenekleri hakkında yardım yazdırır ve çıkış yapar.

--help-all Kapsamlı kullanım bilgilerini yazdırır ve çıkış yapar.

  • -i: İlk argüman olarak bir betik aktarıldığında veya -c seçeneği kullanıldığında, betiği veya komutu yürüttükten sonra etkileşimli moda geçer. $PYTHONSTARTUP dosyasını okumaz. Bu, bir betik istisna (exception) fırlattığında global değişkenleri veya yığın izlemesini (stack trace) incelemek için yararlı olabilir.

  • -I: Python'ı yalıtılmış (isolated) modda çalıştırır. Bu aynı zamanda -E, -P ve -s seçeneklerini de gerektirir. Yalıtılmış modda sys.path ne betiğin dizinini ne de kullanıcının site-packages dizinini içerir. Tüm PYTHON* ortam değişkenleri de yoksayılır. Kullanıcının kötü amaçlı kod enjekte etmesini önlemek için başka kısıtlamalar da uygulanabilir.

-m module-name Belirtilen modül için sys.path yolunu arar ve ilgili .py dosyasını bir betik olarak çalıştırır. Bu, seçenek listesini sonlandırır (sonraki seçenekler modüle argüman olarak aktarılır).

  • -O: assert deyimlerini ve debug değerine bağlı olan tüm kodları kaldırır; derlenmiş (bytecode) dosyaların dosya adını, .pyc uzantısından önce .opt-1 ekleyerek zenginleştirir.

  • -OO: -O seçeneğinin yaptıklarını yapar ve ayrıca belge dizelerini (docstrings) atar; derlenmiş (bytecode) dosyaların dosya adını, .pyc uzantısından önce .opt-2 ekleyerek değiştirir.

  • -P: sys.path yolunun başına geçerli dizin, betiğin dizini veya boş bir dize gibi potansiyel olarak güvenli olmayan bir yolu otomatik olarak eklemez. Ayrıca bkz. PYTHONSAFEPATH ortam değişkeni.

  • -q: Sürüm ve telif hakkı mesajlarını yazdırmaz. Bu mesajlar etkileşimli olmayan modda da gizlenir.

  • -R: Hash rastgeleleştirmesini etkinleştirir. Hash rastgeleleştirmesi varsayılan olarak etkin olduğundan, bu seçenek yalnızca PYTHONHASHSEED ortam değişkeni 0 olarak ayarlandığında etkili olur.

  • -s: Kullanıcı site dizinini sys.path yoluna eklemez.

  • -S: site modülünün içe aktarılmasını ve bunun getirdiği sys.path üzerindeki siteye bağlı işlemleri devre dışı bırakır. site daha sonra açıkça içe aktarılsa bile bu işlemleri devre dışı bırakır.

  • -u: stdout ve stderr akışlarını arabelleksiz (unbuffered) olmaya zorlar. Bu seçeneğin stdin akışı üzerinde hiçbir etkisi yoktur.

  • -v: Bir modül her başlatıldığında, yüklendiği yeri (dosya adı veya yerleşik modül) gösteren bir mesaj yazdırır. İki kez verildiğinde, bir modül aranırken kontrol edilen her dosya için bir mesaj yazdırır. Ayrıca çıkışta modül temizliği hakkında bilgi sağlar.

  • -V ,: --version Yürütülebilir dosyanın Python sürüm numarasını yazdırır ve çıkış yapar. İki kez verildiğinde, derleme (build) hakkında daha fazla bilgi yazdırır.

-W argument Uyarı kontrolü. Python'ın uyarı mekanizması varsayılan olarak uyarı mesajlarını sys.stderr akışına yazdırır.

En basit ayarlar, bir işlem tarafından yayılan tüm uyarılara (varsayılan olarak yoksayılanlar dahil) koşulsuz olarak belirli bir eylemi uygular:

-Wdefault # Çağrı konumu başına bir kez uyar -Werror # İstisnalara dönüştür -Walways # Her seferinde uyar -Wall # -Walways ile aynı -Wmodule # Çağıran modül başına bir kez uyar -Wonce # Python işlemi başına bir kez uyar -Wignore # Asla uyarma

Eylem adları istenildiği gibi kısaltılabilir ve yorumlayıcı bunları uygun eylem adına çözümler. Örneğin, -Wi seçeneği -Wignore ile aynıdır.

Argümanın tam biçimi şöyledir: action:message:category:module:lineno

Boş alanlar tüm değerlerle eşleşir; sondaki boş alanlar atlanabilir. Örneğin -W ignore::DeprecationWarning tüm DeprecationWarning uyarılarını yoksayar.

Eylem alanı yukarıda açıklandığı gibidir ancak yalnızca kalan alanlarla eşleşen uyarılara uygulanır.

Mesaj alanı, yazdırılan uyarı mesajının tamamıyla eşleşmelidir; bu eşleşme büyük/küçük harfe duyarsızdır.

Kategori alanı, uyarı kategorisiyle eşleşir (örneğin: "DeprecationWarning"). Bu bir sınıf adı olmalıdır; eşleşme, mesajın gerçek uyarı kategorisinin belirtilen uyarı kategorisinin bir alt sınıfı olup olmadığını test eder.

Modül alanı, (tam nitelikli) modül adıyla eşleşir; bu eşleşme büyük/küçük harfe duyarlıdır.

Satır numarası alanı satır numarasıyla eşleşir; burada sıfır tüm satır numaralarıyla eşleşir ve bu nedenle atlanmış bir satır numarasına eşdeğerdir.

Birden fazla -W seçeneği verilebilir; bir uyarı birden fazla seçenekle eşleştiğinde, son eşleşen seçeneğin eylemi gerçekleştirilir. Geçersiz -W seçenekleri yoksayılır (ancak, ilk uyarı yayımlandığında geçersiz seçenekler hakkında bir uyarı mesajı yazdırılır).

Uyarılar ayrıca PYTHONWARNINGS ortam değişkeni kullanılarak ve bir Python programı içinden warnings modülü kullanılarak da kontrol edilebilir. Örneğin, uyarı mesajında bir düzenli ifade (regular expression) kullanmak için warnings.filterwarnings() işlevi kullanılabilir.

-X option Uygulamaya özgü seçeneği ayarlar. Aşağıdaki seçenekler mevcuttur:

-X cpu_count=N os.cpu_count() işlevinin dönüş değerini geçersiz kılar. -X cpu_count=default geçersiz kılmayı iptal eder. Ayrıca bkz. PYTHON_CPU_COUNT.

-X dev Enable CPython'ın "geliştirme modunu" (development mode) etkinleştirerek, varsayılan olarak etkinleştirilemeyecek kadar maliyetli olan ek çalışma zamanı kontrolleri sunar. Kod doğruysa varsayılan moddan daha ayrıntılı olmayacaktır: yeni uyarılar yalnızca bir sorun tespit edildiğinde yayımlanır. Geliştirici modunun etkisi:

• -W default gibi varsayılan uyarı filtresi ekler.

• Bellek ayırıcılarda hata ayıklama kancaları (debug hooks) kurar: PyMem_SetupDebugHooks() C işlevine bakın.

• Bir çökme durumunda Python izleme geri dönüşünü (traceback) dökmek için faulthandler modülünü etkinleştirir.

• asyncio hata ayıklama modunu etkinleştirir.

• sys.flags nesnesinin dev_mode özniteliğini True olarak ayarlar.

• io.IOBase yıkıcısı close() istisnalarını günlüğe kaydeder.

-X importtime Her bir içe aktarmanın ne kadar sürdüğünü gösterir. Modül adını, kümülatif süreyi (içiçe aktarmalar dahil) ve öz süreyi (içiçe aktarmalar hariç) gösterir. Çıktısının çok iş parçacıklı (multi-threaded) uygulamalarda bozulabileceğini unutmayın. Tipik kullanım python3 -X importtime -c 'import asyncio' şeklindedir.

-X importtime=2, içe aktarılan bir modülün zaten yüklenmiş olduğunu gösteren ek çıktıları etkinleştirir. Bu tür durumlarda, her iki zaman sütununda da cached dizesi yazdırılır.

-X faulthandler faulthandler modülünü etkinleştirir.

-X frozen_modules=[on|off] Dondurulmuş modüllerin (frozen modules) kullanılıp kullanılmayacağını belirtir. Varsayılan "on" (yerel bir derleme çalıştırıyorsanız "off") şeklindedir.

-X gil=[0|1] GIL'i etkinleştirir (1) veya devre dışı bırakır (0). Ayrıca bkz. PYTHON_GIL. Yalnızca --disable-gil ile yapılandırılmış derlemelerde mevcuttur.

-X int_max_str_digits=number int <-> str dönüşümlerinin boyutunu sınırlar. Bu, güvenilmeyen verileri ayrıştırırken hizmet reddi (denial of service) saldırılarını önlemeye yardımcı olur. Varsayılan değer sys.int_info.default_max_str_digits şeklindedir. 0 değeri sınırı devre dışı bırakır.

-X no_debug_ranges Kod nesnelerindeki her talimata ek konum bilgilerini (bitiş satırı, başlangıç sütunu kayması ve bitiş sütunu kayması) eşleyen tabloların dahil edilmesini devre dışı bırakır. Bu, daha küçük kod nesneleri ve pyc dosyaları istendiğinde ve yorumlayıcı izleme geri dönüşlerini (tracebacks) görüntülerken ek görsel konum göstergelerini gizlemek için yararlıdır.

-X perf Linux "perf" profil oluşturucusunu (profiler) destekler. Ayrıca bkz. PYTHONPERFSUPPORT=1.

-X perf_jit DWARF destekli Linux "perf" profil oluşturucusunu destekler. Ayrıca bkz. PYTHON_PERF_JIT_SUPPORT=1.

-X presite=MOD Bu modülü site modülünden önce içe aktarır. Ayrıca bkz. PYTHON_PRESITE. Bu yalnızca hata ayıklama (debug) derlemelerinde çalışır.

-X pycache_prefix=PATH .pyc dosyalarının kod ağacı yerine, belirtilen dizini temel alan paralel bir ağaca yazılmasını etkinleştirir.

-X showrefcount Program bittiğinde veya etkileşimli yorumlayıcıdaki her deyimden sonra toplam referans sayısını ve kullanılan bellek bloklarının sayısını çıktı olarak verir. Bu yalnızca hata ayıklama (debug) derlemelerinde çalışır.

-X tracemalloc tracemalloc modülünü kullanarak Python bellek tahsislerini izlemeye başlar. Varsayılan olarak, bir izleme geri dönüşünde yalnızca en son çerçeve (frame) saklanır. NFRAME çerçevelik bir izleme geri dönüşü sınırı ile izlemeyi başlatmak için -X tracemalloc=NFRAME seçeneğini kullanın.

-X utf8 Varsayılan yerel ayara duyarlı modu geçersiz kılarak işletim sistemi arayüzleri için UTF-8 modunu etkinleştirir. -X utf8=0, UTF-8 modunu açıkça devre dışı bırakır (otomatik olarak etkinleşeceği durumlarda bile). Daha fazla ayrıntı için PYTHONUTF8 konusuna bakın.

-X warn_default_encoding 'encoding=None' için isteğe bağlı EncodingWarning uyarısını etkinleştirir.

  • -x: Kaynağın ilk satırını atlar. Bu yalnızca DOS'a özgü bir geçici çözüm (hack) için tasarlanmıştır. Uyarı: Hata mesajlarındaki satır numaraları bir kayacaktır!

Yorumlayıcı Arayüzü

Yorumlayıcı arayüzü UNIX kabuğuna benzer: standart girdi bir tty cihazına bağlı olarak çağrıldığında, komut ister ve bir EOF (dosya sonu) okunana kadar bunları yürütür; bir dosya adı argümanıyla veya standart girdi olarak bir dosyayla çağrıldığında, o dosyadan bir betik okur ve yürütür; -c komut (veya -c command) ile çağrıldığında, komut olarak verilen Python deyimlerini yürütür. Burada komut, yeni satırlarla ayrılmış birden fazla deyim içerebilir. Python deyimlerinde satır başı boşlukları önemlidir! Etkileşimli olmayan modda, tüm girdi yürütülmeden önce ayrıştırılır.

Varsa, betik adı ve sonrasındaki ek argümanlar, bir dize listesi olan sys.argv Python değişkeninde betiğe aktarılır (buna erişebilmek için önce sys modülünü içe aktarmanız gerekir). Betik adı belirtilmemişse, sys.argv[0] boş bir dizedir; -c kullanılıyorsa, sys.argv[0] '-c' dizesini içerir. Python yorumlayıcısının kendisi tarafından yorumlanan seçeneklerin sys.argv listesine yerleştirilmediğini unutmayın.

Etkileşimli modda, birincil komut istemi (prompt) >>>' şeklindedir; ikincil komut istemi (bir komut tamamlanmadığında görünür) ise ...' şeklindedir. Komut istemleri sys.ps1 veya sys.ps2 değişkenlerine atama yapılarak değiştirilebilir. Yorumlayıcı, bir komut isteminde EOF okuduğunda sonlanır. İşlenmemiş bir istisna (exception) oluştuğunda, bir yığın izlemesi (stack trace) yazdırılır ve kontrol birincil komut istemine döner; etkileşimli olmayan modda yorumlayıcı, yığın izlemesini yazdırdıktan sonra çıkış yapar. Kesme (interrupt) sinyali KeyboardInterrupt istisnasını tetikler; diğer UNIX sinyalleri yakalanmaz (SIGPIPE sinyalinin IOError istisnası lehine bazen yoksayılması hariç). Hata mesajları stderr akışına yazdırılır.

Dosyalar Ve Dizinler

Bunlar yerel kurulum kurallarına bağlı olarak farklılık gösterebilir; ${prefix} ve ${exec_prefix} kuruluma bağlıdır ve GNU yazılımlarında olduğu gibi yorumlanmalıdır; aynı olabilirler. Her ikisi için de varsayılan değer /usr/local şeklindedir.

${exec_prefix}/bin/python Yorumlayıcının önerilen konumu.

${prefix}/lib/python ${exec_prefix}/lib/python Standart modülleri içeren dizinlerin önerilen konumları.

${prefix}/include/python ${exec_prefix}/include/python Python uzantıları geliştirmek ve yorumlayıcıyı gömmek (embedding) için gereken başlık (include) dosyalarını içeren dizinlerin önerilen konumları.

Ortam Değişkenleri

PYTHONASYNCIODEBUG Bu ortam değişkeni boş olmayan bir dizeye ayarlanırsa, asyncio modülünün hata ayıklama modunu etkinleştirir.

PYTHON_BASIC_REPL Bu değişken herhangi bir değere ayarlanırsa, yorumlayıcı curses ve readline gerektiren Python tabanlı REPL'i yüklemeye çalışmaz ve bunun yerine geleneksel ayrıştırıcı tabanlı REPL'i kullanır.

PYTHONBREAKPOINT Bu ortam değişkeni 0 olarak ayarlanırsa, varsayılan hata ayıklayıcıyı devre dışı bırakır. Tercih ettiğiniz hata ayıklayıcının çağrılabilir (callable) nesnesine ayarlanabilir.

PYTHONCOERCECLOCALE 0 değerine ayarlanırsa, ana Python komut satırı uygulamasının eski ASCII tabanlı C ve POSIX yerel ayarlarını (locales) daha yetenekli bir UTF-8 tabanlı alternatife dönüştürmeyi (coercing) atlamasını sağlar.

PYTHON_COLORS Bu değişken 1 olarak ayarlanırsa, yorumlayıcı çeşitli çıktı türlerini renklendirir. 0 olarak ayarlanması bu davranışı devre dışı bırakır.

PYTHON_CPU_COUNT Bu değişken pozitif bir tamsayıya ayarlanırsa, os.cpu_count ve os.process_cpu_count işlevlerinin dönüş değerlerini geçersiz kılar.

Ayrıca bkz. -X cpu_count seçeneği.

PYTHONDEBUG Boş olmayan bir dizeye ayarlanırsa, -d seçeneğinin belirtilmesine eşdeğerdir. Bir tamsayıya ayarlanırsa, -d seçeneğinin birden çok kez belirtilmesine eşdeğerdir.

PYTHONEXECUTABLE Bu ortam değişkeni ayarlanırsa, sys.argv[0] C çalışma zamanı (C runtime) üzerinden alınan değer yerine bu değişkenin değerine ayarlanır. Yalnızca Mac OS X üzerinde çalışır.

PYTHONFAULTHANDLER Bu ortam değişkeni boş olmayan bir dizeye ayarlanırsa, başlangıçta faulthandler.enable() çağrılır: Python izleme geri dönüşünü (traceback) dökmek için SIGSEGV, SIGFPE, SIGABRT, SIGBUS ve SIGILL sinyalleri için bir işleyici kurar.

Bu, -X faulthandler seçeneğine eşdeğerdir.

PYTHON_FROZEN_MODULES Bu değişken "on" veya "off" olarak ayarlanırsa, dondurulmuş modüllerin içe aktarma mekanizması (import machinery) tarafından yoksayılıp yoksayılmayacağını belirler. "on" değeri içe aktarıldıkları, "off" değeri ise yoksayıldıkları anlamına gelir. Varsayılan değer, hata ayıklama dışı derlemeler (normal durum) için "on", hata ayıklama derlemeleri için ise "off" şeklindedir.

Ayrıca bkz. -X frozen_modules seçeneği.

PYTHON_GIL Bu değişken 1 olarak ayarlanırsa, global yorumlayıcı kilidi (GIL) etkin olmaya zorlanır. 0 olarak ayarlanması GIL'i devre dışı kalmaya zorlar. Yalnızca --disable-gil ile yapılandırılmış derlemelerde mevcuttur.

Bu, -X gil seçeneğine eşdeğerdir.

PYTHON_HISTORY Bu ortam değişkeni, bir geçmiş (history) dosyasının konumunu ayarlamak için kullanılabilir (Unix'te varsayılan olarak ~/.python_history şeklindedir).

PYTHONNODEBUGRANGES Bu değişken ayarlanırsa, kod nesnelerindeki her talimata ek konum bilgilerini (bitiş satırı, başlangıç sütunu kayması ve bitiş sütunu kayması) eşleyen tabloların dahil edilmesini devre dışı bırakır. Bu, daha küçük kod nesneleri ve pyc dosyaları istendiğinde ve yorumlayıcı izleme geri dönüşlerini görüntülerken ek görsel konum göstergelerini gizlemek için yararlıdır.

PYTHONDONTWRITEBYTECODE Boş olmayan bir dizeye ayarlanırsa, -B seçeneğinin belirtilmesine eşdeğerdir (.pyc dosyaları yazmaya çalışmaz).

PYTHONDEVMODE Bu ortam değişkeni boş olmayan bir dizeye ayarlanırsa, Python'ın "geliştirme modunu" (development mode) etkinleştirerek varsayılan olarak etkinleştirilemeyecek kadar maliyetli olan ek çalışma zamanı kontrolleri sunar.

Bu, -X dev seçeneğine eşdeğerdir.

PYTHONHASHSEED Bu değişken "random" olarak ayarlanırsa, str ve bytes nesnelerinin hash'lerini çekirdeklendirmek (seed) için rastgele bir değer kullanılır.

PYTHONHASHSEED bir tamsayı değerine ayarlanırsa, hash rastgeleleştirmesinin kapsadığı türlerin hash() değerini üretmek için sabit bir çekirdek (seed) olarak kullanılır. Amacı, yorumlayıcının kendi birim testleri (selftests) gibi tekrarlanabilir hash işlemlerine izin vermek veya bir python süreçleri kümesinin hash değerlerini paylaşmasını sağlamaktır.

Tamsayı, [0, 4294967295] aralığında ondalık bir sayı olmalıdır. 0 değerinin belirtilmesi hash rastgeleleştirmesini devre dışı bırakır.

PYTHONHOME Standart Python kütüphanelerinin konumunu değiştirir. Varsayılan olarak kütüphaneler, ${prefix} ve ${exec_prefix} kuruluma bağlı dizinler (her ikisi de varsayılan olarak /usr/local) olmak üzere ${prefix}/lib/python ve ${exec_prefix}/lib/python altında aranır. $PYTHONHOME tek bir dizine ayarlandığında, değeri hem ${prefix} hem de ${exec_prefix} değerlerinin yerini alır. Bunlar için farklı değerler belirtmek üzere $PYTHONHOME değişkenini ${prefix}:${exec_prefix} şeklinde ayarlayın.

PYTHONINSPECT Boş olmayan bir dizeye ayarlanırsa, -i seçeneğinin belirtilmesine eşdeğerdir.

PYTHONINTMAXSTRDIGITS Bir dizeden dönüştürürken ve bir int değerini tekrar str değerine dönüştürürken bir int değerindeki maksimum basamak karakterini sınırlar. 0 değeri sınırı devre dışı bırakır. 2, 4, 8, 16 ve 32 tabanlarına veya tabanlarından yapılan dönüşümler asla sınırlanmaz.

Bu, -X int_max_str_digits=NUMBER seçeneğine eşdeğerdir.

PYTHONIOENCODING Yorumlayıcıyı çalıştırmadan önce ayarlanırsa, stdin/stdout/stderr için kullanılan kodlamayı kodlamaadi:hataisleyici (encodingname:errorhandler) söz dizimiyle geçersiz kılar. hataisleyici kısmı isteğe bağlıdır ve str.encode içindekiyle aynı anlama gelir. stderr için hataisleyici kısmı yoksayılır; işleyici her zaman ´backslashreplace´ olacaktır.

PYTHONMALLOC Python bellek ayırıcılarını ayarlar ve/veya hata ayıklama kancaları (debug hooks) kurur. Kullanılabilir bellek ayırıcılar malloc ve pymalloc şeklindedir. Kullanılabilir hata ayıklama kancaları debug, malloc_debug ve pymalloc_debug şeklindedir.

Python hata ayıklama (debug) modunda derlendiğinde, varsayılan değer pymalloc_debug şeklindedir ve hata ayıklama kancaları otomatik olarak kullanılır. Aksi takdirde varsayılan değer pymalloc şeklindedir.

PYTHONMALLOCSTATS Boş olmayan bir dizeye ayarlanırsa, Python her yeni pymalloc nesne arenası oluşturulduğunda ve kapanışta pymalloc bellek ayırıcısının istatistiklerini yazdırır.

C kütüphanesinin malloc(3) ayırıcısını zorlamak için $PYTHONMALLOC ortam değişkeni kullanılırsa veya Python pymalloc desteği olmadan yapılandırılmışsa bu değişken yoksayılır.

PYTHONNOUSERSITE Boş olmayan bir dizeye ayarlanırsa, -s seçeneğinin belirtilmesine eşdeğerdir (Kullanıcı site dizinini sys.path yoluna eklemez).

PYTHONOPTIMIZE Boş olmayan bir dizeye ayarlanırsa, -O seçeneğinin belirtilmesine eşdeğerdir. Bir tamsayıya ayarlanırsa, -O seçeneğinin birden çok kez belirtilmesine eşdeğerdir.

PYTHONPATH Modül dosyaları için varsayılan arama yolunu genişletir. Biçim, kabuğun $PATH değişkeni ile aynıdır: iki nokta üst üste ile ayrılmış bir veya daha fazla dizin yolu. Var olmayan dizinler sessizce yoksayılır. Varsayılan arama yolu kuruluma bağlıdır, ancak genellikle ${prefix}/lib/python ile başlar (yukarıdaki PYTHONHOME konusuna bakın). Varsayılan arama yolu her zaman $PYTHONPATH yolunun sonuna eklenir. Bir betik argümanı verilirse, betiği içeren dizin yolda $PYTHONPATH yolunun önüne eklenir. Arama yolu, bir Python programı içinden sys.path değişkeni olarak manipüle edilebilir.

PYTHON_PERF_JIT_SUPPORT Bu değişken sıfır dışı bir değere ayarlanırsa, Linux perf profil oluşturucu desteğini etkinleştirir, böylece Python çağrıları DWARF bilgileri kullanılarak onun tarafından algılanabilir. 0 olarak ayarlanması devre dışı bırakır.

Ayrıca bkz. -X perf_jit seçeneği.

PYTHONPERFSUPPORT Bu değişken sıfır dışı bir değere ayarlanırsa, Linux perf profil oluşturucu desteğini etkinleştirir, böylece Python çağrıları onun tarafından algılanabilir. 0 olarak ayarlanması devre dışı bırakır.

Ayrıca bkz. -X perf seçeneği.

PYTHONPLATLIBDIR sys.platlibdir değerini geçersiz kılar.

PYTHONPROFILEIMPORTTIME Bu ortam değişkeni 1 olarak ayarlanırsa, Python her bir içe aktarmanın ne kadar sürdüğünü gösterir. 2 olarak ayarlanırsa, Python zaten yüklenmiş olan içe aktarılmış modüller için çıktıları dahil eder. Bu, komut satırında -X importtime ayarını yapmaya tamamen eşdeğerdir.

PYTHONPYCACHEPREFIX Bu ayarlanırsa, Python .pyc dosyalarını kaynak ağacındaki pycache dizinleri yerine bu yoldaki bir yansıtılmış (mirror) dizin ağacına yazar.

Bu, -X pycache_prefix=PATH seçeneğinin belirtilmesine eşdeğerdir.

PYTHONSAFEPATH Boş olmayan bir dizeye ayarlanırsa, sys.path yolunun başına geçerli dizin, betiğin dizini veya boş bir dize gibi potansiyel olarak güvenli olmayan bir yolu otomatik olarak eklemez. Ayrıca bkz. -P seçeneği.

PYTHONSTARTUP Bu okunabilir bir dosyanın adıysa, etkileşimli modda ilk komut istemi görüntülenmeden önce o dosyadaki Python komutları yürütülür. Dosya, etkileşimli komutların yürütüldüğü aynı isim alanında (name space) yürütülür, böylece içinde tanımlanan veya içe aktarılan nesneler etkileşimli oturumda niteleme olmaksızın kullanılabilir. Bu dosyada sys.ps1 ve sys.ps2 komut istemlerini de değiştirebilirsiniz.

PYTHONTRACEMALLOC Bu ortam değişkeni boş olmayan bir dizeye ayarlanırsa, tracemalloc modülünü kullanarak Python bellek tahsislerini izlemeye başlar.

Değişkenin değeri, bir izleme geri dönüşünde (traceback) saklanan maksimum çerçeve (frame) sayısıdır. Örneğin, PYTHONTRACEMALLOC=1 yalnızca en son çerçeveyi saklar.

PYTHONUNBUFFERED Boş olmayan bir dizeye ayarlanırsa, -u seçeneğinin belirtilmesine eşdeğerdir.

PYTHONUSERBASE python -m pip install --user için kullanıcı site-packages dizininin yolunu ve kurulum yollarını hesaplamak için kullanılan kullanıcı temel dizinini (user base directory) tanımlar.

PYTHONUTF8 1 olarak ayarlanırsa, Python "UTF-8 Modu"nu etkinleştirir. 0 olarak ayarlanması devre dışı bırakır.

PYTHONVERBOSE Boş olmayan bir dizeye ayarlanırsa, -v seçeneğinin belirtilmesine eşdeğerdir. Bir tamsayıya ayarlanırsa, -v seçeneğinin birden çok kez belirtilmesine eşdeğerdir.

PYTHONWARNDEFAULTENCODING Bu ortam değişkeni boş olmayan bir dizeye ayarlanırsa, yerel ayara özgü varsayılan kodlama kullanıldığında bir EncodingWarning uyarısı verir.

PYTHONWARNINGS Virgülle ayrılmış bir dizeye ayarlanırsa, her bir ayrı değer için -W seçeneğinin belirtilmesine eşdeğerdir.

Hata ayıklama modu değişkenleri Setting these variables only has an effect in a debug build of Python, that is, if Python was configured with the --with-pydebug build option.

PYTHONDUMPREFS Bu ortam değişkeni ayarlanırsa, Python yorumlayıcıyı kapattıktan sonra hala hayatta olan nesneleri ve referans sayılarını döker.

PYTHONDUMPREFSFILE Ayarlanırsa, Python yorumlayıcıyı kapattıktan sonra hala hayatta olan nesneleri ve referans sayılarını bu ortam değişkenine değer olarak verilen yol altındaki bir dosyaya döker.

PYTHON_PRESITE Bu değişken bir modüle ayarlanırsa, bu modül yorumlayıcı yaşam döngüsünün erken bir aşamasında, site modülü yürütülmeden önce ve main modülü oluşturulmadan önce içe aktarılır. Bu yalnızca hata ayıklama (debug) derlemelerinde çalışır.

Bu, -X presite=module seçeneğine eşdeğerdir.

Yazar

The Python Software Foundation: https://www.python.org/psf/

İnternet Kaynakları

Ana web sitesi: https://www.python.org/ Belgeler: https://docs.python.org/ Geliştirici kaynakları: https://devguide.python.org/ İndirmeler: https://www.python.org/downloads/ Modül deposu: https://pypi.org/ Haber grupları: comp.lang.python, comp.lang.python.announce

Lisanslama

Python, Açık Kaynaklı (Open Source) bir lisans altında dağıtılmaktadır. Python'a erişim ve diğer kullanım koşulları ile TÜM GARANTİLERİN REDDİ (DISCLAIMER OF ALL WARRANTIES) hakkındaki bilgiler için Python kaynak dağıtımındaki "LICENSE" dosyasına bakın.

PYTHON(1)