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

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

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

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

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

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

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

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

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

أداة تصحيح أخطاء ipdb

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

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

  لماذا يعد تسجيل Dolby Vision HDR الخاص بـ iPhone 12 صفقة كبيرة

التصحيح باستخدام Ipdb

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

pip install ipdb

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

import ipdb
alpha_list = ['a', 'b', 'c']
fruit_list = ['orange', 'mango', 'kiwi']

def nested_loop():
    for fruit_list:
        print (fruit)
        ipdb.set_trace()
    for x in 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.

اتبع عملية التثبيت وإرشادات التكوين هنا.

مكتبة Pyelftools

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

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

ستقوم بتثبيته باستخدام:

pip install pyelftools 

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

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

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

استخدام بوظة، أيضًا ic () ، يأتي مع العديد من الفوائد عبر print () ، كما هو موضح أدناه:

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

قبل استخدام هذه الحزمة ، قم بتثبيتها باستخدام الأمر pip أدناه:

pip install icecream

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

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

from icecream import install
install()
from y import mult
mult()
 

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

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

نتائج:

y
ic| z : 8

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

from icecream import ic
def mult(x):
    return x * 4
ic(mult(100))

انتاج:

ic| mult(100): 400

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

from icecream import ic
x = 12
def mult(x):
    return x*4
    y = mult(ic(x))
    ic(y)

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

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

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

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

pip install py-spy 

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

مصحح أخطاء Viztracer

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

  كيفية إخفاء معاينات رسالة Slack على شاشة القفل الخاصة بك

ماذا يجعل viztracer أداة تصحيح أخطاء فعالة؟

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

استنتاج

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

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

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

تصحيح أخطاء سعيد!