2025, Oct 05 17:31

PyCharm में Typer और Rich से आने वाले रंगीन ट्रेसबैक को कैसे बंद करें

PyCharm में रंगीन ट्रेसबैक क्यों दिखते हैं? जानें कैसे Typer Rich से अपवाद रेंडर करता है, और सेटिंग्स से इसे नियंत्रित या बंद कर सरल Python ट्रेसबैक पाएं अभी.

परिचित कंसोल में स्टाइल किए हुए ट्रेसबैक अचानक दिखना उलझन पैदा कर सकता है, खासकर जब पहले ऐसा नहीं होता था। यदि आप uv द्वारा प्रबंधित वातावरण में PyCharm के भीतर कोई Python प्रोजेक्ट चला रहे हैं और अचानक रंगीन, संरचित त्रुटि संदेश दिखाई देते हैं, तो उस फॉर्मैटिंग का स्रोत आपका IDE नहीं, बल्कि अपवाद रेंडरर है।

संदर्भ: यह समस्या किस परिवेश में दिखाई देती है

नीचे दिया गया सेटअप विकास के दौरान इन स्टाइल्ड त्रुटियों को देखने के लिए पर्याप्त है:

requires-python = ">=3.12"
dependencies = [
    "pytorch-lightning==2.5.2",
    "torch==2.6.0",
    "torchaudio==2.6.0",
    "torchmetrics==1.8.1",
    "torchvision==0.21.0",
]
[dependency-groups]
dev = [
    "tensorboard>=2.20.0",
    "typer>=0.16.0",
]

आख़िर स्टाइल्ड ट्रेसबैक बन कौन रहा है

यह फ़ॉर्मैट किया गया आउटपुट Rich तैयार करता है। Typer परदे के पीछे Rich का उपयोग बेहतर अपवाद संदेश रेंडर करने के लिए करता है, इसलिए त्रुटि आने पर साधारण Python ट्रेसबैक की जगह रंगीन और संरचित दृश्य दिखाई देता है। यह व्यवहार PyCharm के अपने कंसोल टॉगल से स्वतंत्र है; इसी कारण संबंधित IDE विकल्प बंद करने पर भी आपको दिखाई देने वाली स्टाइलिंग नहीं बदलती।

इसे कैसे नियंत्रित करें

यदि आप इस व्यवहार को बदलना या बंद करना चाहते हैं, तो Typer की exceptions संबंधी डॉक्युमेंटेशन में बताई गई सेटिंग्स अपनाएँ। वहाँ आपको एन्हांस्ड आउटपुट के अलग-अलग पहलुओं को निष्क्रिय करने के तरीके मिलेंगे, जिनमें सुरक्षा हेतु स्थानीय वैरिएबल्स के प्रदर्शन को नियंत्रित करने वाले विकल्प भी शामिल हैं। इन सेटिंग्स को लागू करके आप सरल ट्रेसबैक शैली पर लौट सकते हैं या प्रदर्शित होने वाली जानकारी को अपनी ज़रूरत के अनुसार सीमित कर सकते हैं।

यह क्यों मायने रखता है

यह समझना कि स्टाइलिंग Typer के माध्यम से Rich से आ रही है, स्पष्ट करता है कि केवल IDE सेटिंग्स से आउटपुट क्यों नहीं बदलता, और यह आपको एप्लिकेशन स्तर पर अपवादों की दृश्यता प्रबंधित करने में मदद देता है। यह डेवलपर की सुविधा के साथ-साथ त्रुटि रिपोर्ट में संवेदनशील विवरण घटाने के लिए भी उपयोगी है। समृद्ध और साधारण ट्रेसबैक के बीच स्विच करने या दिखने वाली सामग्री को सीमित करने की क्षमता सुरक्षा को बेहतर बनाती है और विभिन्न वातावरणों में डीबगिंग वर्कफ़्लो को अधिक अनुमानित करती है।

मुख्य बातें

यदि Typer-आधारित प्रोजेक्ट में आपको अनपेक्षित रूप से रंगीन ट्रेसबैक दिखें, तो समझिए कि Rich काम कर रहा है। एन्हांस्ड फ़ॉर्मैटिंग को समायोजित या बंद करने के लिए Typer के exceptions गाइड को देखें। स्टाइलिंग के स्रोत को समझना आपको, चाहे आप कोई भी IDE या टर्मिनल इस्तेमाल करें, त्रुटि आउटपुट को समान रूप से नियंत्रित करने में मदद करता है।

यह लेख StackOverflow के प्रश्न (लेखक: user53423103981023) और InSync के उत्तर पर आधारित है।