سلام برای اینکه این سرفصل رو کاملتر یاد بگیریم، آیا پیشنهاد تمرینی، پروژه ای دارید؟
سلام،
چنتا تمرین بعد از این جلسه وجود داره که حتما اونهارو دیدی. منتها بجز این تمرینات، یکسری موارد رو لیست میکنم تا بطور جامع روی موضوعات دیگر هم کار کنی. البته نیازی نیست تمام این موارد همین الان انجام بشه بلکه برنامه ریزیت براین اساس باشه که در پروژه هایی که مینویسی هربار بخشی ازین موارد رو پیاده سازی کنی:
ساختاردهی کدها:
سعی کن کدها رو به ماژولها و پکیجهای مختلف تقسیم کنی تا پروژهات منظم باشه و هر بخش کار خودش رو به صورت جداگانه انجام بده. ایجاد فایل __init__.py:
تمام کدهای مربوط به پکیج رو توی فایلهای جداگانه قرار بده و از __init__.py استفاده کن تا اونها رو به هم متصل کنی و یک پکیج قابل استفاده بسازی. نوشتن setup.py:
یک فایل setup.py برای پکیج بنویس که اطلاعات مربوط به نصب و مشخصات پکیج (مثل نام، نسخه، نویسنده، و وابستگیها) رو در خودش داشته باشه. این کار برای نصب و انتشار پکیج خیلی مهمه. نوشتن README.md:
برای هر پکیجی که میسازی یه فایل README.md بنویس که نحوه استفاده از پکیج رو توضیح بده. این کار باعث میشه به مستندسازی پروژهها مسلط بشی و دیگران هم بتونن با پروژههات راحت کار کنن. تمرین نصب پکیج در محیط مجازی:
بعد از ساخت پکیج، اون رو توی یه محیط مجازی (virtualenv) نصب کن و با pip تستش کن. این کار کمک میکنه بفهمی که پکیجت چطور در محیطهای مختلف کار میکنه و چه مشکلاتی ممکنه داشته باشه. استفاده از virtualenv:
حتماً تمرین کن که چطور از محیطهای مجازی (virtual environments) استفاده کنی تا بتونی وابستگیهای هر پروژه رو به صورت مجزا مدیریت کنی. مدیریت وابستگیها:
سعی کن لیست وابستگیها رو توی فایل setup.py یا requirements.txt اضافه کنی و یاد بگیری چطور اونها رو مدیریت کنی تا پکیجت به درستی کار کنه. نصب و تست پکیج با pip:
یاد بگیر چطور بعد از ساخت پکیج، اون رو به صورت محلی (pip install .) یا فشرده (wheel) نصب کنی و تست کنی تا مطمئن بشی که درست بستهبندی شده. تمرین ایجاد فایل MANIFEST.in:
اگر پروژهات شامل فایلهای غیر پایتونی (مثل تصاویر یا دادهها) هست، با استفاده از MANIFEST.in یاد بگیر چطور این فایلها رو در پکیج قرار بدی. استفاده از پکیجهای جانبی برای انتشار:
با ابزارهایی مثل twine آشنا شو تا یاد بگیری چطور پکیجت رو روی PyPI منتشر کنی تا دیگران هم بتونن ازش استفاده کنن. ایجاد تستهای خودکار:
برای هر پکیج یا ماژول یه تست خودکار بنویس تا مطمئن بشی کدها درست کار میکنن. از ابزارهایی مثل unittest یا pytest استفاده کن. ساخت Wheel (.whl):
یاد بگیر چطور از پکیج خودت یک فایل Wheel بسازی که یک نوع پکیج آماده نصب سریع برای پایتون هست. این کار به انتشار و نصب راحتتر کمک میکنه. نوشتن فایل .gitignore:
برای پروژههایت حتماً یک فایل .gitignore بنویس که فایلهای اضافی مثل فایلهای محیط مجازی و فایلهای کش شده رو نادیده بگیره. این کمک میکنه پروژههات تمیزتر و قابل استفادهتر بشن. پیکربندی License:
یاد بگیر چطور به پروژههات یه لایسنس (مجوز استفاده) اضافه کنی تا دیگران بدونن چطور میتونن از کدت استفاده کنن. تمرین انتشار نسخهها:
نسخههای مختلف از پکیج خودت بساز (مثلاً ۱.۰.۰، ۱.۱.۰) و یاد بگیر چطور انتشار نسخهها رو مدیریت کنی تا بتونی بروزرسانیها و تغییرات رو دنبال کنی. تمرین استفاده از __main__.py:
برای پکیجت یه فایل __main__.py بنویس تا بتونی اونو به صورت یه برنامه قابل اجرا از خط فرمان (python -m packagename) اجرا کنی.