Debugging¶
🌐 Translation by AI and humans
This translation was made by AI guided by humans. 🤝
It could have mistakes of misunderstanding the original meaning, or looking unnatural, etc. 🤖
You can improve this translation by helping us guide the AI LLM better.
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:
import uvicorn
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def root():
a = "a"
b = "b" + a
return {"hello world": b}
if __name__ == "__main__":
uvicorn.run(app, host="0.0.0.0", port=8000)
__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.
Bilgi
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:
