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.

3.9 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 किया जाता है:

$ python myapp.py

लेकिन तब call नहीं होता जब कोई दूसरी file इसे import करती है, जैसे कि:

from myapp import app

अधिक विवरण

मान लीजिए आपकी file का नाम myapp.py है।

अगर आप इसे इसके साथ 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 पर रुकेगा, आदि।

यह कुछ ऐसा दिख सकता है: