Files
fastapi/docs/hi/docs/tutorial/debugging.md
T
452e526877 ЁЯМР Update translations for hi (update-outdated) (#16212)
Co-authored-by: pr-submit[bot] <pr-submit[bot]@users.noreply.github.com>
Co-authored-by: Yurii Motov <109919500+YuriiMotov@users.noreply.github.com>
Co-authored-by: pr-push[bot] <pr-push[bot]@users.noreply.github.com>
2026-08-19 10:58:07 +02:00

4.0 KiB

Debugging

рдЖрдк рдЕрдкрдиреЗ editor рдореЗрдВ debugger connect рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП Visual Studio Code рдпрд╛ PyCharm рдХреЗ рд╕рд╛рдеред

uvicorn рдХреЛ call рдХрд░реЗрдВ

рдЕрдкрдиреЗ FastAPI application рдореЗрдВ, uvicorn рдХреЛ рд╕реАрдзреЗ import рдХрд░рдХреЗ run рдХрд░реЗрдВ:

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

__name__ == "__main__" рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ

__name__ == "__main__" рдХрд╛ рдореБрдЦреНрдп рдЙрджреНрджреЗрд╢реНрдп рдРрд╕рд╛ рдХреБрдЫ code рд░рдЦрдирд╛ рд╣реИ рдЬреЛ рддрдм execute рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдЖрдкрдХреА file рдХреЛ рдЗрд╕рдХреЗ рд╕рд╛рде call рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:

$ uv run python myapp.py

рд▓реЗрдХрд┐рди рддрдм call рдирд╣реАрдВ рд╣реЛрддрд╛ рдЬрдм рдХреЛрдИ рджреВрд╕рд░реА file рдЗрд╕реЗ import рдХрд░рддреА рд╣реИ, рдЬреИрд╕реЗ рдХрд┐:

from myapp import app

рдЕрдзрд┐рдХ рд╡рд┐рд╡рд░рдг

рдорд╛рди рд▓реАрдЬрд┐рдП рдЖрдкрдХреА file рдХрд╛ рдирд╛рдо myapp.py рд╣реИред

рдЕрдЧрд░ рдЖрдк рдЗрд╕реЗ рдЗрд╕рдХреЗ рд╕рд╛рде run рдХрд░рддреЗ рд╣реИрдВ:

$ uv run python myapp.py

рддреЛ рдЖрдкрдХреА file рдореЗрдВ Python рджреНрд╡рд╛рд░рд╛ рдЕрдкрдиреЗ рдЖрдк рдмрдирд╛рдИ рдЧрдИ internal variable __name__ рдХрд╛ value string "__main__" рд╣реЛрдЧрд╛ред

рддреЛ, рдпрд╣ section:

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

run рд╣реЛрдЧрд╛ред


рдЕрдЧрд░ рдЖрдк рдЙрд╕ module (file) рдХреЛ import рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред

рддреЛ, рдЕрдЧрд░ рдЖрдкрдХреЗ рдкрд╛рд╕ importer.py рдирд╛рдо рдХреА рдХреЛрдИ рджреВрд╕рд░реА file рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдпрд╣ рд╣реИ:

from myapp import app

# рдХреБрдЫ рдФрд░ code

рдЙрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, myapp.py рдХреЗ рдЕрдВрджрд░ рдЕрдкрдиреЗ рдЖрдк рдмрдирд╛рдИ рдЧрдИ variable __name__ рдХрд╛ value "__main__" рдирд╣реАрдВ рд╣реЛрдЧрд╛ред

рддреЛ, рдпрд╣ line:

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

execute рдирд╣реАрдВ рд╣реЛрдЧреАред

/// note | рдиреЛрдЯ

рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП, рдЖрдзрд┐рдХрд╛рд░рд┐рдХ Python docs рджреЗрдЦреЗрдВред

///

рдЕрдкрдиреЗ debugger рдХреЗ рд╕рд╛рде рдЕрдкрдирд╛ code run рдХрд░реЗрдВ

рдХреНрдпреЛрдВрдХрд┐ рдЖрдк Uvicorn server рдХреЛ рд╕реАрдзреЗ рдЕрдкрдиреЗ code рд╕реЗ run рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЖрдк рдЕрдкрдиреЗ Python program (рдЕрдкрдиреЗ FastAPI application) рдХреЛ рд╕реАрдзреЗ debugger рд╕реЗ call рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред


рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, Visual Studio Code рдореЗрдВ, рдЖрдк рдпрд╣ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

  • "Debug" panel рдкрд░ рдЬрд╛рдПрдБред
  • "Add configuration..."ред
  • "Python" рдЪреБрдиреЗрдВред
  • "Python: Current File (Integrated Terminal)" option рдХреЗ рд╕рд╛рде debugger run рдХрд░реЗрдВред

рдлрд┐рд░ рдпрд╣ рдЖрдкрдХреЗ FastAPI code рдХреЗ рд╕рд╛рде server start рдХрд░реЗрдЧрд╛, рдЖрдкрдХреЗ breakpoints рдкрд░ рд░реБрдХреЗрдЧрд╛, рдЖрджрд┐ред

рдпрд╣ рдХреБрдЫ рдРрд╕рд╛ рджрд┐рдЦ рд╕рдХрддрд╛ рд╣реИ:


рдЕрдЧрд░ рдЖрдк PyCharm рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдпрд╣ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

  • "Run" menu рдЦреЛрд▓реЗрдВред
  • "Debug..." option рдЪреБрдиреЗрдВред
  • рдлрд┐рд░ рдПрдХ context menu рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИред
  • debug рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП file рдЪреБрдиреЗрдВ (рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, main.py)ред

рдлрд┐рд░ рдпрд╣ рдЖрдкрдХреЗ FastAPI code рдХреЗ рд╕рд╛рде server start рдХрд░реЗрдЧрд╛, рдЖрдкрдХреЗ breakpoints рдкрд░ рд░реБрдХреЗрдЧрд╛, рдЖрджрд┐ред

рдпрд╣ рдХреБрдЫ рдРрд╕рд╛ рджрд┐рдЦ рд╕рдХрддрд╛ рд╣реИ: