You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2.6 KiB

Debugging

Visual Studio Code veya PyCharm gibi editörünüzde debugger'ı bağlayabilirsiniz.

uvicorn'ı Çağırma

FastAPI uygulamanızda uvicorn'ı import edip doğrudan çalıştırın:

{* ../../docs_src/debugging/tutorial001_py310.py hl[1,15] *}

__name__ == "__main__" Hakkında

__name__ == "__main__" ifadesinin temel amacı, dosyanız şu şekilde çağrıldığında çalışacak:

$ python myapp.py

ancak başka bir dosya onu import ettiğinde çalışmayacak bir kod bölümüne sahip olmaktır, örneğin:

from myapp import app

Daha fazla detay

Dosyanızın adının myapp.py olduğunu varsayalım.

Şu şekilde çalıştırırsanız:

$ python myapp.py

Python tarafından otomatik oluşturulan, dosyanızın içindeki __name__ adlı dahili değişkenin değeri "__main__" string'i olur.

Dolayısıyla şu bölüm:

    uvicorn.run(app, host="0.0.0.0", port=8000)

çalışır.


Ancak modülü (dosyayı) import ederseniz bu gerçekleşmez.

Yani örneğin importer.py adında başka bir dosyanız var ve içinde şunlar bulunuyorsa:

from myapp import app

# Some more code

bu durumda myapp.py içindeki otomatik oluşturulan __name__ değişkeni "__main__" değerine sahip olmaz.

Bu yüzden şu satır:

    uvicorn.run(app, host="0.0.0.0", port=8000)

çalıştırılmaz.

/// note | Not

Daha fazla bilgi için resmi Python dokümantasyonuna bakın.

///

Kodunuzu Debugger ile Çalıştırma

Uvicorn server'ını doğrudan kodunuzdan çalıştırdığınız için, Python programınızı (FastAPI uygulamanızı) debugger'dan doğrudan başlatabilirsiniz.


Örneğin Visual Studio Code'da şunları yapabilirsiniz:

  • "Debug" paneline gidin.
  • "Add configuration..." seçin.
  • "Python" seçin
  • "Python: Current File (Integrated Terminal)" seçeneğiyle debugger'ı çalıştırın.

Böylece server, FastAPI kodunuzla başlar; breakpoint'lerinizde durur vb.

Aşağıdaki gibi görünebilir:


PyCharm kullanıyorsanız şunları yapabilirsiniz:

  • "Run" menüsünü açın.
  • "Debug..." seçeneğini seçin.
  • Bir context menü açılır.
  • Debug edilecek dosyayı seçin (bu örnekte main.py).

Böylece server, FastAPI kodunuzla başlar; breakpoint'lerinizde durur vb.

Aşağıdaki gibi görünebilir: