تعرف على كيفية إنشاء وتوزيع واستخدام الحزم في Python بمساعدة هذا الدليل.

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

ما هي الباقة؟

في Python ، توفر الحزمة طريقة لتنظيم الوحدات والموارد المرتبطة منطقيًا معًا. إنه دليل يحتوي على العديد من وحدات Python وحزم فرعية وموارد أخرى.

توفر الحزم بنية هرمية ، مما يسمح لك بتنظيم كود مشروعك على مستويات مختلفة من التجريد.

الفرق بين الحزم والوحدات

بينما يمكنك استخدام كلا الحزم و وحدات لتنظيم التعليمات البرمجية، هناك اختلافات بينهما:

  • وحدة: الوحدة النمطية هي ملف يحتوي على كود بايثون. يحدد الوظائف والفئات والمتغيرات والكائنات الأخرى التي يمكنك استيرادها واستخدامها في التعليمات البرمجية الخاصة بك.
  • طَرد: الحزمة عبارة عن مجموعة من وحدة واحدة أو أكثر ويمكن أن تتضمن أيضًا حزمًا فرعية.

كيفية إنشاء حزمة في بايثون

لإنشاء حزمة ، اتبع هذه الخطوات الموضحة.

الخطوة 1: إنشاء دليل المشروع

instagram viewer

ابدأ بإنشاء دليل المشروع.

study_bud/

الخطوة 2: إنشاء دليل الحزم

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

study_bud/
math_tool/

الخطوة 3: تحديد ملف Package __init__.py

في دليل الحزمة ، أنشئ __init__.py ملف. حضور ال __init__.py الملف هو ما يجعل الدليل حزمة في بايثون.

إذا كنت بحاجة إلى تهيئة رمز متى استخدمت الحزمة ، فقم بتضمينه في __init__.py الملف وإلا فهو فارغ دائمًا.

study_bud/
math_tool/
__init__.py

الخطوة 4: إضافة وحدات إلى الحزمة

ضمن دليل الحزمة ، أضف وحدات Python النمطية (.py) التي تحدد الوظائف أو الفئات أو المتغيرات.

تحتوي هذه الوحدات على الكود الفعلي الذي يوفر وظائف الحزمة الخاصة بك. يمكنك إنشاء وحدات متعددة داخل دليل الحزمة.

study_bud/
math_tool/
__init__.py
operations.py
statistics.py

الخطوة 5: أضف الحزم الفرعية إلى الحزمة

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

الحزمة الفرعية هي ببساطة دليل حزمة آخر داخل دليل الحزمة الرئيسي. يجب أن يكون لكل حزمة فرعية __init__.py ملف. تسمح الحزم الفرعية بمزيد من التنظيم وفصل الكود.

study_bud/
math_tool/
__init__.py
operations.py
statistics.py
geometry/
__init__.py
shapes.py
calculus/
__init__.py
integrations.py

في هذه الخطوات ، قمت بإنشاء ملف math_tool الحزمة ، تمت إضافة وحدتين (العمليات و Statistics.py) وحزمتان فرعيتان الهندسة و حساب التفاضل والتكامل لكل منها وحداته.

باتباع هذه الخطوات ، يمكنك بسهولة تنظيم الوظائف ذات الصلة باستخدام حزمة وحزم فرعية ، مما يسهل إدارة التعليمات البرمجية وإعادة استخدامها.

كيف تعمل مع حزمة في بايثون

للعمل مع حزمة تحتاج إلى استيرادها. ال يستورد و من تسمح لك الكلمات الأساسية باستيراد واستخدام حزمة في التعليمات البرمجية الخاصة بك.

import math_tool # entire package

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

from math_tool.operations import add, multiply # specific functions

في الكود أعلاه ، انتقلت من دليل الحزمة (math_tool) إلى عمليات وحدة باستخدام تدوين النقطة واستيراد وظيفتين (يضيف و تتضاعف).

الواردات المطلقة مقابل. الواردات النسبية

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

from math_tool.geometry.shapes import parallelogram

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

بينما نسبيالواردات تسمح لك بإجراء عمليات استيراد متعلقة بموقع الوحدة الحالية باستخدام تدوين النقطة لتحديد الواردات النسبية.

على سبيل المثال ، داخل ملف حساب التفاضل والتكامل / التكامل الوحدة النمطية ، يمكنك استخدام الاستيراد النسبي لاستيراد وظيفة من ملف الأشكال وحدة في الهندسة الحزمة الفرعية.

# calculus/integrations.py
from ..geometry.shapes import rhombus

تخبر النقطة المزدوجة ("..") بايثون أن:

  • ابدأ من دليل الحزمة الفرعية (حساب التفاضل والتكامل) حيث الوحدة (Integations.py) موجود.
  • انتقل إلى حزمة الوالدين (math_tool) دليل الحزمة الفرعية.
  • أعثر على الهندسة الحزمة الفرعية في الدليل الأصل.
  • اذهب إلى الأشكال وحدة والاستيراد معين منه.

لذا فإن تدوين النقطة يمثل عدد الأدلة التي يجب الانتقال إليها من دليل الوحدة الحالي.

الواردات من الاسم المستعار للراحة

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

لتعيين اسم مستعار ، استخدم امتداد مثل كلمة رئيسية.

import math_tool.calculus as cal

كيف توزع حزمتك في بايثون

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

الخطوة 1: قم بإنشاء حساب على PyPI

فهرس حزمة بايثون (PyPI) هو المستودع الافتراضي لحزم Python. يمكنك نشر الحزم الخاصة بك على PyPI حتى يتمكن المطورون الآخرون من العثور عليها وتثبيتها بسهولة.

تأكد من تذكر الخاص بك اسم المستخدم و كلمة المرور حيث ستحتاج إليها للمصادقة عند تحميل الحزمة الخاصة بك إلى PyPI.

تسهل هذه الأدوات عليك تكوين وبناء ودفع حزمة قابلة للتوزيع في أمر واحد.

pip install build wheel twine

الخطوة الثالثة: قم بإنشاء ملف setup.py

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

ستستخدم أدوات إدارة الحزم الامتداد setup.py ملف لتكوين وبناء الحزمة الخاصة بك.

#setup.py
from setuptools import setup, find_packages

setup(
name='',
version='1.0.0',
author='',
description='A collection of mathematical utility functions',
packages=find_packages(),
install_requires=[
'numpy',
'scipy',
],
)

الخطوة 4: بناء الحزمة

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

python setup.py sdist bdist_wheel

هذا الأمر يولد ملف حي دليل يحتوي على حزمة توزيع المصدر (.tar.gz) وحزمة توزيع العجلات (.whl). سترى أيضًا ملف يبني و معلومات الدليل.

الخطوة 5: قم بتحميل الحزمة إلى PyPI

عندما تكون الحزمة الخاصة بك جاهزة ، يمكنك تحميلها إلى PyPI.

قم بتنفيذ الأمر التالي:

twine upload dist/*
> Uploading distributions to https://upload.pypi.org/legacy/
> Enter your username: **********
> Enter your password: **********

قم بزيارة PyPI صفحة إدارة المشروع لرؤية الحزمة الخاصة بك.

الآن يمكن للمطورين الآخرين الذين يجدون الحزمة الخاصة بك مفيدة تثبيتها واستخدامها محليًا.

كيفية تثبيت حزمة بايثون

مديرو الحزم مثل النقطة اجعل من السهل تثبيت وإدارة حزم Python من مصادر مختلفة ، بما في ذلك Python Package Index (PyPI). لتثبيت حزمة باستخدام نقطة، افتح Terminal أو موجه الأوامر واستخدم الأمر التالي:

pip install 

لمشاهدة جميع الأوامر والخيارات المتاحة لـ نقطة استخدم ال --يساعد خيار.

كتابة وحدات نظيفة

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