الأخبار التكنولوجية والاستعراضات والنصائح!

تصحيح أخطاء Python مثل البطل باستخدام هذه المكتبات والأدوات

هل تريد أن تصبح خبيرًا حقيقيًا في تصحيح أخطاء Python؟ تصحيح أخطاء كود Python الخاص بك باستخدام مكتبات وأدوات تصحيح أخطاء Python الرائعة التي سنغطيها قريبًا!

Python هي لغة برمجة للأغراض العامة وعالية المستوى وموجهة للكائنات تستخدم في العديد من أغراض التطوير. بالإضافة إلى ذلك ، فهي أداة تطوير فعالة للعديد من التطبيقات ، من تطوير تطبيقات الويب إلى تجريف الويب والتطبيقات الأكثر تعقيدًا مثل التعلم الآلي وعلوم البيانات.

أثناء التطوير ، تكون الأخطاء التي تسمى الأخطاء في البرمجة عرضة للحدث. يتخذ المطورون عدة خطوات لاكتشاف الأخطاء الموجودة والمحتملة في الكود وإزالتها. نتيجة لذلك ، تمنع رمز البرنامج من الانكسار. نسمي هذه العملية تصحيح الأخطاء.

ستلقي هذه المقالة نظرة على العديد من مصححات أخطاء Python المتاحة التي يمكنك استخدامها. سنرى أيضًا كيف تختلف أدوات تصحيح الأخطاء هذه عن بعضها البعض وما الذي يجعل التنفيذ فعالاً.

مكتبة تصحيح أخطاء cProfiler

cProfiler ، عبارة عن مكتبة شائعة وامتداد C يقوم بتشغيل ملف تعريف التعليمات البرمجية طويلة التشغيل. على المدى الطويل ، يحدد أجزاء من رمز البرنامج التي تستغرق وقتًا طويلاً للتشغيل. على الرغم من أنه يحدد الوقت الذي يستغرقه تنفيذ أجزاء مختلفة من الكود ، إلا أنه لا يحدد الأخطاء الموجودة في الكود أو يصلحها بشكل كامل.

لذلك ، تنشأ الحاجة إلى استخدام مصححات أخرى.

لحسن الحظ ، يمكنك استخدام المكتبات الموصى بها مثل ipdb و Django-debug-toolbar و pyelftools و viztracer و py-spy كأدوات لتصحيح أخطاء كود Python الخاص بك بدلاً من ذلك.

أداة التصحيح ipdb

يعد مصحح Python Debugger الذي يدعم IPython في مجمله مصحح أخطاء تفاعليًا تابعًا لجهة خارجية يشتمل على وظائف pdb. يأتي Ipbd أيضًا مع دعم shell IPython التفاعلي. يتضمن هذا الدعم إكمال علامة التبويب ودعم الألوان والميزات السحرية ، من بين ميزات الدعم الأخرى.

يسمح مصحح الأخطاء هذا بالوصول إلى مصحح أخطاء IPython عن طريق تصدير الوظائف ذات الصلة. كما أنه يوفر واجهة مماثلة لتحسين الاستبطان ، تمامًا كما هو الحال في وحدة pdb.

استكشاف الأخطاء وإصلاحها مع Ipdb

تتطلب المكتبة التثبيت باستخدام الأمر pip أدناه.

نقطة تثبيت ipdb

مثال على استخدام ipdb سيبدو كالتالي:

استيراد ipdb alpha_list = [‘a’, ‘b’, ‘c’]
Fruit_list = [‘orange’, ‘mango’, ‘kiwi’]

def nested_loop (): for fruit_list: print (fruit) ipdb.set_trace () لـ x في alpha_list: print (x) if __name__ == ‘__main__’: nested_loop ()

قم بتشغيل ملف python باستخدام الأمر أدناه حيث test.py هو اسم الملف الخاص بي:

python -m ipdb test.py

يسمح استيراد ipdb وتنفيذ الوظيفة ipdb.set_trace () ببدء البرنامج وتشغيل مصحح الأخطاء من خلال التنفيذ.

تعمل الوظيفة ipdb.pm () (بعد الوفاة) بشكل مشابه للدالة السحرية debug٪.

حجة set_trace

مرر السياق كوسيطة إلى set_trace لعرض أسطر متعددة محددة من التعليمات البرمجية. بالإضافة إلى ذلك ، فإن cond ، التي تقبلها set_trace أيضًا كوسيطة ، تقبل القيم المنطقية وتبدأ واجهة ipdb عند تعيين الشرط على صحيح.

باستخدام ملف التكوين

عيّن وسيطة السياق باستخدام ملف idpdb أو ملف setup.cfg المتوفر في المجلد الرئيسي أو مجلد المشروع على التوالي. مرحبًا بك للتحقق من وظائف ipdb بشكل أكبر.

شريط أدوات Django Debug

شريط أدوات تصحيح الأخطاء Django هو أداة تصحيح أخطاء شائعة في Django: إطار عمل Python.

تعرض هذه المجموعة القابلة للتكوين من اللوحات الطلب الحالي أو معلومات تصحيح أخطاء الاستجابة. يؤدي النقر فوق شريط الأدوات إلى عرض مزيد من المعلومات حول محتويات اللوحة.

هذه الأداة تفحص بدقة بيئة تطوير Django.

اتبع عملية التثبيت وتعليمات التكوين هنا.

مكتبة Pyelftool

مكتبة pyelftools مبنية فقط على Python. يوزع ويوزع ملفات ELF ومعلومات تصحيح أخطاء DWARF ويتطلب تشغيل Python فقط.

يعد استخدام Pyelftools أمرًا سهلاً لأنه لا يحتوي على مكتبات خارجية. أيضًا ، يعد استخدام pyelftools بدون تثبيت أمرًا سهلاً للغاية لأنه يتطلب ببساطة ضبط PYTHONPATH في متغيرات البيئة.

قمت بتثبيته مع:

نقطة تثبيت pyelftools

يتطلب تنفيذ pyelftools ببساطة استيراده واستدعائه في برنامجك.

أداة التصحيح icecream 🍦

هذه أداة تصحيح أخطاء أخرى فعالة لمطوري بايثون.

يستخدم الدالة ic () ، وتأتي مع العديد من المزايا مقارنة بالطباعة () ، والتي تم وصفها أدناه:

  • كتابتها أسرع نسبيًا ، بالمعنى الحرفي للكلمة.
  • يطبع هياكل البيانات بشكل جيد.
  • طباعة التعبيرات أو أسماء المتغيرات وقيمها باستخدام ic ().
  • يسلط الضوء على بناء الجملة الناتج.
  • وبدلاً من ذلك ، يتضمن سياق البرنامج ، بما في ذلك اسم الملف ورقم السطر والوظيفة الأصلية.
  • قبل استخدام هذه الحزمة ، قم بتثبيتها باستخدام الأمر pip أدناه:

    نقطة تثبيت الآيس كريم

    الشيء الجيد هو أنه يمكنك استخدام ic () في جميع الملفات دون الحاجة بالضرورة إلى استيراده في جميع الملفات عن طريق تثبيته مع install (). بالإضافة إلى ذلك ، يضيف install () ic () إلى الوحدة النمطية المدمجة. ستشارك جميع الملفات التي يستوردها المترجم في ic ().

    في ملف root python الأول ، والذي يمكنك تسميته x.py ، أضف ic () مع install ().

    من تثبيت استيراد icecream () من y import mult ()

    في ملف y.py ، يتم استيراد ملف x.py ، اتصل بـ ic ()

    def mult (): z = 8 ic (z)

    نتائج:

    ذ جيم | ض: 8

    ما يجعل ic () أكثر كفاءة هو قدرته على فحص المتغيرات التي تم تمريرها إليه ، بما في ذلك نفسه ، ثم طباعة وسيطاته وقيمه كما في المثال التالي.

    من استيراد icecream ic def mult (x): إرجاع x * 4 ic (mult (100))

    إنتاج:

    ic | متعدد (100): 400

    يمكنك أيضًا إدراج ic () في التعليمات البرمجية الموجودة مسبقًا لأنها تُرجع وسيطاتها. يقوم المثال أدناه بإرجاع ic | x: 12 ، ثم ic | ص: 48.

    من استيراد icecream ic x = 12 def mult (x): إرجاع x * 4 y = mult (ic (x)) ic (y)

    التصحيح باستخدام الأداة المساعدة py-spy

    يمكنك استخدام py-spy لتشكيل نماذج من برامج Python كأداة لتصحيح الأخطاء. بدون إعادة تشغيل البرنامج أو تغيير رمزه ، يتخيل py-spy تنفيذ برنامج Python. أيضًا ، نظرًا لأنه مكتوب بلغة Rust ، فإنه يحتوي على مقدار حمل منخفض.

    أيضًا ، يجدر النظر في أنه من الآمن استخدام py-spy ضد كود Python الخاص بالإنتاج لأنه يدير عملية مختلفة عن برنامج Python المصمم على شكل ملف.

    مثل جميع الأدوات السابقة الأخرى التي رأيناها ، يمكنك استخدام أداة py-spy بعد تثبيتها.

    نقطة تثبيت py-spy

    على الرغم من أن برنامج Python الخاص بك يخدم حركة مرور الإنتاج ، فلا يزال بإمكانك ملف تعريف هذا البرنامج وتصحيحه باستخدام py-spy ، مما يجعله أداة أساسية لتحديد ملفات Python.

    مصحح أخطاء Viztracer

    بدلاً من ذلك ، يمكنك استخدام viztracer ، أداة تصحيح الأخطاء ، لتتبع وتصور تنفيذ برنامج Python الخاص بك. وهي أيضًا أداة إنشاء ملفات تعريف تسجيل منخفضة الحمل.

    ما الذي يجعل viztracer أداة فعالة لاستكشاف الأخطاء وإصلاحها؟

  • استخدامه بسيط للغاية ، ولا يعتمد على الحزم الخارجية للعمل.
  • يعمل Viztracer على جميع منصات أنظمة التشغيل: Windowsأو Linux أو macOS.
  • تعيد الواجهة الأمامية القوية إنتاج مسارات بمستوى GB بسلاسة.
  • يستخدم RegEx لتسجيل الوظائف التعسفية والمعلومات الإضافية مثل المتغيرات والسمات ، والاستثناءات المرتفعة ، ونشاط Garbage Collector ، وما إلى ذلك ، دون تغيير أي مقتطف من شفرة المصدر الخاصة بك.
  • ما يجعل viztracer أداة تصحيح أخطاء منخفضة الحمل هو قدرتها على تصفية البيانات التي لا تحتاجها في برنامجك. ثم تحتفظ بالمعلومات القديمة قبل تفريغ السجل بتنسيق JSON.
  • يمكنك استخدامه لإدراج أحداث مخصصة مثل الحدث الفوري والحدث المتغير وحدث المدة عند تشغيل البرنامج. بهذه الطريقة ، تعمل مثل مصحح أخطاء الطباعة ، باستثناء أن viztracer يتيح لك معرفة وقت حدوث الطباعة عند تتبع البيانات.
  • استنتاج

    يعد تحديد سمات Python وتصحيح الأخطاء تمامًا مثل ملفات تعريف البرامج خطوة أساسية في تطوير ملفتة للانتباه. تساعد هذه الخطوة في استبعاد أقسام الكود التي بها أخطاء حتى يتم تحسين الأداء العام للشفرة.

    أدوات التصحيح التي قمنا بتغطيتها أعلاه هي أدوات فعالة تجعل عمل مطور Python سهلًا للغاية.

    عندما ترى أن أدوات تصحيح الأخطاء الأخرى تعمل بكفاءة أكبر من cProfiler ، يمكنك ، مثل البطل الحقيقي ، تصحيح كود Python الخاص بك وإصلاح أي أخطاء باستخدام أدوات التصحيح هذه لمنع الكود الخاص بك من العمل دون تعطل.

    نتمنى لك تصحيحًا سعيدًا!