أدوات بيثون مفيدة

الأصدقاء ، مساء الخير! لدينا أخبار رائعة ، فتح باب التوظيف في مجموعة جديدة في الدورة التدريبية "Python Developer" . تبدأ المجموعة بالفعل في أوائل يوليو ، والآن ، وفقًا للتقاليد المعمول بها ، فإننا نشارك ترجمة مفيدة تم إعدادها لطلاب هذه الدورة.



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

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

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

الأدوات الأساسية


Setuptools


Setuptools هي الطريقة القياسية لإنشاء حزم في بيثون. وهو يعمل في أي مكان ويقوم بعمله بشكل جيد.

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

virtualenv


Virtualenv هو مدير بيئة افتراضية. هذه الصناديق الرملية هي بيثون مستقل مع مجموعة محددة من الحزم المثبتة مسبقًا. استخدام virtualenv يعني أنك لا تحتاج إلى تثبيت الحزم على نظام بيثون بشكل افتراضي.

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

بذرة


Pip هو مدير الحزم الأكثر شيوعًا في بيثون. يسمح لك بتثبيت الحزم المحلية أو البعيدة في البيئة الافتراضية الخاصة بك أو نظام Python.

لماذا : تثبيت وإزالة الحزم ، وتتبع إصدارات الحزم التي تستخدمها.
عندما تستخدم : دائما.
بدائل : شعر ، كوندا

إنشاء الحزمة والتوزيع


لإلقاء نظرة فاحصة ، لدى python.org صفحة منفصلة: packaging.python.org

distutils


distutils هو رائد setuptools. يستخدم الأخير بنشاط وظائف distutils ، لذلك غالباً ما يكون من الضروري التفاعل مع هذه الأداة. Distutils ليس بالضبط الأداة التي يجب أن تكون لديك في ترسانة الخاص بك ، ولكن يجب أن تعرف كيف تناسبها في الصورة الكبيرة.

Pypi


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

لماذا : لنشر الرمز الخاص بك.
عند الاستخدام : عندما يكون هناك حزمة تريد عرضها على المجتمع.

Pypiserver


Pypiserver هو أحد تطبيقات API Index Package التي يستخدمها Pypi. يمكنك إنشاء مستودع خاص بك ، على سبيل المثال ، لشركتك بأكملها ونشر حزم دون إصدار إصدارات عامة.

لماذا : إنشاء مستودعات الخاصة بك داخل المنظمة.
عند الاستخدام : عندما لا يحتاج الرمز الخاص بك إلى دعاية ، ولكن هناك حاجة إلى تحكم كامل فيه.
البدائل : مستودع (تستخدمه Pypi) ، djangopypi

شعر


Poetry هو نظام بديل لإدارة الحزمة يحل محل setuptools و pip و بعض الأدوات الأخرى المبنية على أساسها. هذه محاولة لإعادة تعريف كيفية عمل نظام الحزم بالكامل في بيثون. حتى الآن ، يحتوي الشعر على العديد من المراجعات الإيجابية ، ولكنه ليس الأداة الأكثر شيوعًا.

لماذا : معالجة وتوزيع الحزم ، وإدارة التبعيات ، ومنع مشاكل حل التبعيات.
متى تستخدم : عندما تخطط لمشروع جديد ولا تخشى استخدام أدوات متخصصة للغاية.
البدائل : Pipenv

Pipenv


Pipenv ، مثل Poetry ، هو أداة لتنظيم التبعيات وتكوين مشاريع Python بطريقة أكثر عقلانية. مع Pipfile ، فإنه يدير تبعيات مشروعك ويضمن الاتساق وسهولة الاستخدام.

لماذا : معالجة وتوزيع الحزم ، إدارة التبعية.
عند الاستخدام : ستحتاج إلى أداة مثل الشعر ستسبب أسئلة أقل.
البدائل : الشعر.

الوثائق


أبو الهول


Sphinx هي أداة لإنشاء الوثائق. تم إنشاؤه في الأصل للتعامل مع وثائق Python ، لكنه أصبح أداة شائعة. هذا هو الخيار الأكثر شيوعا لمشاريع بيثون.

لماذا : إنشاء مستندات PDF أو HTML باستخدام لغة ترميز من مصادر reStructuredText.
عند الاستخدام : عندما يتطلب مشروعك أو واجهة برمجة التطبيقات أو الكود وثائق خارجية.
البدائل : Docutils ، Doxygen

autodoc


autodoc هو امتداد أساسي لبرنامج Sphinx الذي يسمح لك بإنشاء ملفات reStructuredText من شفرة مصدر Python مع توقيعات لكل فئة ، وظيفة ، وحدة ، وهلم جرا.

لماذا : توثيق التعليمات البرمجية أو API.
عند الاستخدام : في الواقع ، في كل مرة تستخدم فيها Sphinx.
البدائل : autosummary

تجريب


py.test


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

لماذا : اختبار التعليمات البرمجية الخاصة بك.
عند الاستخدام : دائمًا عندما تكون كسولًا جدًا في الاختبار يدويًا.
البدائل : unittest ، الأنف

فرضية


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

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

توكس


توكس هو مدير بيئة افتراضية للاختبار. هذا يعني أنه يمكنك تكوينه لتشغيل الاختبارات في بيئات افتراضية نظيفة وقابلة للتخصيص لضمان عمل التعليمات البرمجية في ظل ظروف مختلفة.

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

أدوات أخرى


pyenv


pyenv هو مدير إصدار بيثون. يهدف إلى تبسيط سير العمل المحلي للمطورين عند العمل مع إصدارات متعددة.

لماذا : إطلاق مشاريع مختلفة مع إصدارات مختلفة من بيثون.
عند الاستخدام : تحتاج إلى العمل مع الإصدارات العالمية من Python ولديك الكثير منها.
البدائل : الإدارة اليدوية ، virtualenv ، الشعر ، Pipenv

PyScaffold


PyScaffold هي أداة لتهيئة هيكل المشروع بطريقة موحدة وتوفير بعض الأدوات المذكورة أعلاه دون الحاجة إلى تكوينها يدويًا. مرن جدا

لماذا : لتحميل المشاريع ، العمل مع العديد من المشاريع بنفس الأدوات والهيكل.
عند الاستخدام : دائمًا (إذا كنت معتادًا على هذه الأداة ، ولكن لا تحاول استخدامها لأول مرة عندما تكون في عجلة من أمرك)
بدائل : بيثون مشروع القالب ، Cookiecutter

flake8


flake8 هي واحدة من أكثر أنواع البيرة شعبية في بيثون. يتم تشغيل العديد من البرامج النصية للتحقق من أن الكود الخاص بك يطابق متطلبات Python Style Guide ( PEP-8 ).

لماذا : التحقق من مشروعك للحصول على أسلوب كتابة جيد.
عند الاستخدام : في كل مرة يجب أن يقرأ مشروعك شخص أو أنت.
البدائل : pylint

أسود


الأسود تلقائيا بتنسيق الرمز. هذا يعني أنه بدلاً من مجرد التحقق من الشفرة للتأكد من امتثالها للمعايير ، فإن Black ستغيرها بشكل مستقل لتناسبها.

لماذا : التنسيق التلقائي للرمز.
عند الاستخدام : عندما لا تكون لديك مشكلة في رفض إدارة التعليمات البرمجية يدويًا.
البدائل : autopep8 ، yapf

هذا كل شيء. في انتظار تعليقاتكم ؛-).

Source: https://habr.com/ru/post/ar456624/


All Articles