برنامه نویسی

پروژه پایتون قابل نگهداری را بسازید – انجمن DEV

تصور کنید چندین ماه پیش پروژه شخصی پایتون دارید. شما سعی می کنید دوباره آن را روی کامپیوتر خود اجرا کنید اما کار نمی کند. شما با خطاهایی مانند عدم وابستگی، نسخه پایتون ناسازگار و غیره مواجه می شوید. حل این مشکل یک روز طول می کشد. تصور کنید اگر این در کار روزانه شما باشد. پروژه پایتون شما باید روی سرور تولید و شما کار کند
کامپیوتر کالج هم همینطور مواجهه مکرر با این موضوع ثمربخش نیست.

در این وبلاگ به شما نشان خواهم داد که چگونه این مشکل را برطرف کنید تا پروژه پایتون خود را قابل نگهداری کنید. استفاده از بهترین روش معمول پروژه پایتون.

1. نسخه پایتون خود را تعریف کنید

هر وابستگی پایتون نیاز به نسخه پایتون متفاوتی دارد. به عنوان مثال پایتون 2.7 (چه کسانی هنوز از پایتون 2.7 در سال 2024 استفاده می کنند؟) فقط می تواند با نسخه 1.8 جنگو کار کند. Fastapi حداقل به پایتون 3.5 نیاز دارد زیرا ویژگی typehint برای اولین بار در پایتون 3.5 معرفی شد.

از کجا باید نسخه پایتون را تعریف کنم؟ من شخصا آن را در README.md قرار دادم. من بخشی به نام نیاز ایجاد می کنم سپس آن را روی آنها قرار می دهم. می توانید در این مخزن github https://github.com/BimaAdi/Make-Maintainable-Python-Project را ببینید.

2. استفاده از محیط مجازی

به طور پیش فرض در صورت استفاده از پیپ pip install {some package} در سطح جهانی ذخیره می شود و برای تمام پروژه های شما در دسترس خواهد بود. مشکل این نیست که تمام پروژه شما از همه وابستگی ها استفاده می کند. به عنوان مثال شما چندین پروژه دارید، یکی در مورد یادگیری ماشین و دیگری در مورد توسعه باطن. پروژه یادگیری ماشینی از برخی بسته های مرتبط با یادگیری ماشین مانند numpy، پانداها، scikit Learn و غیره استفاده می کند در حالی که پروژه Backend از برخی بسته های مرتبط با باطن مانند جنگو استفاده می کند. پروژه یادگیری ماشین شما به جنگو نیاز ندارد و همچنین پروژه باطن شما به یادگیری numpy و scikit نیاز ندارد. با استفاده از محیط مجازی شما
وابستگی های محصور شده برای هر پروژه

برای ایجاد محیط مجازی در پوشه پروژه خود دستور اجرا کنید:

python -m venv env
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

در پوشه پروژه خود یک پوشه env خواهید دید. این پوشه مفسر پایتون و وابستگی های پایتون شما را ذخیره می کند. برای استفاده از محیط تازه ایجاد شده خود می توانید از دستور زیر استفاده کنید:

لینوکس و ماکو (bash یا zsh)

source env/bin/activate
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

ویندوز (command promt)

env\Scripts\activate.bat
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

ویندوز (پاورشل)

env\Scripts\activate.ps1
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

پس از اجرای آن دستور متوجه می شوید که ترمینال/command promt/powershell شما (env) در سمت چپ دارد.

ترمینال در محیط مجازی فعال شده

این نشان می دهد که شما دیگر از مفسر جهانی پایتون خود استفاده نمی کنید، اما از مفسر پایتون در پوشه env خود استفاده می کنید. اگر اجرا کنید pip list همچنین متوجه شده اید که هیچ گونه وابستگی به بسته ندارید.

محیط مجازی pip list

وقتی اجرا می کنید pip install {some package} در حالی که (env) دارید، آن را در پوشه env خود ذخیره خواهید کرد. تلاش كردن pip install Faker pandas سپس pip list خواهید دید که روی پوشه env شما نصب شده است.

نصب وابستگی ها در محیط مجازی

برای استفاده از مفسر جهانی پایتون من. می توانید ترمینال/کامند promt/powershell جدید ایجاد کنید یا با استفاده از دستور محیط را غیرفعال کنید. deactivate. پوشه env را به مخزن git فشار ندهید. حتماً پوشه env را به gitignore. خود اضافه کنید.

3. به وابستگی های پروژه خود با استفاده از request.txt توجه کنید

وقتی پروژه شما بزرگتر می شود، به وابستگی های بیشتری نیاز دارید. نصب همه وابستگی ها به صورت دستی موثر نیست. همچنین باید تعریف کنید که وابستگی پایتون شما به چه نسخه ای نیاز دارد. برای حل این مشکل می توانیم از requires.txt استفاده کنیم. requires.txt فقط یک فایل txt است که وابستگی های پایتون شما را ذخیره می کند.
برای تولید آن فایل در ترمینال در حالی که از محیط مجازی استفاده می کنید دستور را اجرا کنید pip freeze > requirements.txt. pip freeze تمام وابستگی ها و نسخه آن را در محیط مجازی شما در ترمینال چاپ می کند > requirements.txt برای قرار دادن خروجی در requirement.txt.

محیط مجازی pip freeze

پس از اجرای آن فایل متوجه فایل جدید requires.txt می شوید. برای نصب مجدد وابستگی های پایتون فقط به دستور run نیاز دارید pip install -r requirements.txt. اطمینان حاصل کنید که هر زمان که وابستگی های جدیدی به خود اضافه می کنید
پروژه با استفاده از request.txt خود را به روز کنید pip freeze > requirements.txt.

برای شفاف‌تر کردن، چند نمونه کد دارم که داده‌های کاربر جعلی تولید می‌کند و سپس در csv ذخیره می‌شود که از همه این نکات استفاده می‌کند. شما می توانید آن را از این مخزن github ببینید
https://github.com/BimaAdi/Make-Maintainable-Python-Project

این همه بچه ها است، هنوز نکات بیشتری برای ساخت پروژه پایتون قابل نگهداری مانند ساختار پروژه، استفاده از آزمایش، فرمت کننده و غیره وجود دارد، اما من می خواهم آن را فقط به پروژه اختصاصی پایتون، کلی و تا حد امکان، محدود کنم. اگر نکات بیشتری دارید یا نظر متفاوتی دارید، می توانید آن را در بخش نظرات زیر اضافه کنید. به سلامتی.

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا