بسته های پایتون زیادی وجود دارد که ما روزانه برای حل مشکلات کدنویسی خود از آنها استفاده می کنیم. به عنوان مثال، کتابخانه “سوپ زیبا” را در نظر بگیرید – به طور پیش فرض با پایتون همراه نیست و باید جداگانه نصب شود.

بسیاری از پروژه ها به کتابخانه ها و سایر وابستگی ها متکی هستند و نصب هر یک می تواند خسته کننده و زمان بر باشد.

اینجاست که یک فایل ‘requirements.txt’ وارد بازی می شود. requires.txt فایلی است که حاوی لیستی از بسته ها یا کتابخانه های مورد نیاز برای کار بر روی یک پروژه است که همگی می توانند با فایل نصب شوند. این یک محیط سازگار را فراهم می کند و همکاری را آسان تر می کند.

فرمت یک فایل requires.txt

تصویر-219
نموداری که کادری حاوی request.txt و کادر دیگری در زیر آن حاوی متن “package_name == version” را نشان می دهد.

تصویر بالا نمونه ای از فایل requires.txt ایجاد شده را نشان می دهد که حاوی لیستی از بسته ها و نسخه های نصب است.

شرایط کلیدی

من تا به حال چند اصطلاح را ذکر کردم که شاید ندانید. در اینجا منظور آنها به همراه برخی از اصطلاحات مهم دیگر که هنگام کار با requires.txt با آنها مواجه خواهید شد، آمده است:

  • وابستگی ها اجزای نرم افزاری هستند که یک برنامه برای اجرای صحیح به آنها نیاز دارد. آنها می توانند کتابخانه ها، چارچوب ها یا برنامه های دیگر باشند.
  • بسته ها راهی برای گروه بندی وابستگی های مرتبط با هم هستند. آنها نصب و مدیریت وابستگی ها را آسان تر می کنند.
  • محیط های مجازی دایرکتوری است که حاوی یک کپی از مفسر پایتون و تمام بسته هایی است که برای یک پروژه خاص مورد نیاز است.
  • پیپ: این یک مدیر بسته برای پایتون است. می توانید از Pip برای نصب، حذف و مدیریت بسته های پایتون استفاده کنید.
پیشنهاد می‌کنیم بخوانید:  چگونه به عنوان یک توسعه دهنده جدید پایتون عادت های کدنویسی خوب ایجاد کنیم

چگونه یک فایل require.txt ایجاد کنیم

برای ایجاد فایل نیازمندی ها، باید محیط مجازی خود را راه اندازی کنید. اگر از Pycharm استفاده می کنید، یک محیط مجازی از قبل راه اندازی شده است (.venv). اما با کد ویژوال استودیو باید خودتان محیط مجازی را بسازید.

می توانید از ترمینال یا خط فرمان خود برای ایجاد فایل مورد نیاز خود استفاده کنید. این مراحلی است که باید هنگام ایجاد فایل دنبال کنید:

ابتدا ترمینال یا خط فرمان خود را باز کنید. سپس بررسی کنید که آیا مسیر فایل نشان داده شده دایرکتوری کاری شما است یا خیر. برای این کار از دستور زیر استفاده کنید:

$ cd folder-name #cd - change directory

در دستور بالا، نام پوشه را با نام دایرکتوری که می خواهید به آن دسترسی داشته باشید، جایگزین کنید.

vgAz2y8K2iS5wT805qSCN4GhJSv4CDu_eY1_lD_xjetaHhqkNIIvZfCmlVBmBfYYw3PrEYlkq2lasDFsc3YhMtqxZwP4AVn3P70820VeXUpVCw1VeUPdVCx1VXUpVCx1VXUpVCx1VXUpVCw1VeXUpVCw1 4urtfqj4VlYcg
نمودار نشان دهنده مجموعه پروژه در خط فرمان

بعد این دستور را اجرا کنید:

$ pip freeze > requirements.txt

و خواهید دید که فایل نیازمندی ها اضافه می شود

این خروجی است:

فایل مورد نیاز
نموداری که فایل مورد نیاز جدید ایجاد شده را نشان می دهد

و در اینجا فایل requires.txt جدید ایجاد شده شما است:

1NEE23GJuy_i0qdANdi6twSQGnjfHrjVZ6LuUlENe57kqsMoUve3W0WcmxZLfY9JW04GrYZghVWFtY4_LnVU-isHVxv0ySpMCDQ5sYwhClw2PrUve3W0WcmxZLfY9JW04GrYZghVWFtY4_LnVU-isHVxv0ySpMCDQ5sYwhClw2PrUve ZEYtKiA
نموداری که لیست بسته ها را در فایل نیازمندی ها نشان می دهد

تصویر بالا وابستگی هایی را نشان می دهد که می توانید با نسخه های آنها کار کنید.

نحوه کار با فایل require.txt

اکنون که فایل نیازمندی ها را در اختیار داریم، می بینید که از یک لیست طولانی از بسته های مختلف تشکیل شده است.

برای کار با پکیج ها باید آنها را نصب کنید. می توانید این کار را با استفاده از خط فرمان یا ترمینال انجام دهید.

این دستور را تایپ کنید:

pip install -r requirements.txt

شبیه این خواهد شد:

7FDCFqn38aY2GFcoqtrKyy4Oyu_8cAPdJkOxbUIdZTfSalvufWIrbEehT61tgJxuhqiA0nINSfkyHcbE-HH-hc77rY1zTkMQhyRijtWBOEqcaWZLJL7s zto
تصویر نصب بسته های موجود در فایل requires.txt را نشان می دهد

اکنون که تمام وابستگی ها نصب شده اند، می توانید با request.txt کار کنید.

مثالی از استفاده از requirements.txt

در این مثال، ما با دو کتابخانه کار خواهیم کرد، beautifulsoup4 و requests، برای بازگرداندن برخی اطلاعات از یک سایت.

M5xLixBqsvL-vtUPFwEZq7NzB-jJDSpycapgv22OxtBKRFa9ysE0kIIPSG0mjltzfknNMdtlPYC8xDWwVnNyGiURQxHFJCrMI_Axexn7dKWLWRV6Lt VOOr8MaD-uQ
نموداری که کتابخانه های کاری این مثال را در فایل نیازمندی ها نشان می دهد

در تصویر بالا می بینیم که دو کتابخانه در فایل requires.txt و نسخه آنها وجود دارد. اکنون می‌توانیم با کتابخانه‌ها کار کنیم زیرا قبلاً آنها را نصب کرده‌ایم.

  • کتابخانه BeautifulSoup را از نام بسته bs4 (beautifulsoup4) وارد کنید و درخواست های کتابخانه را نیز وارد کنید.
پیشنهاد می‌کنیم بخوانید:  نحوه مسطح کردن ابعاد خاص آرایه NumPy

from bs4 import BeautifulSoup
import requests

  • برای واکشی اطلاعات از آدرس وب سایت، از .get() روشی برای ضربه زدن به کتابخانه درخواست ها.

web_data = requests.get("https://www.lithuania.travel/en/category/what-is-lithuania", headers={"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36"})

  • اکنون که به URL دسترسی داریم، کتابخانه Beautiful Soup آن را می پذیرد web_data و تمام محتویات HTML موجود در آن را برمی گرداند.

soup = BeautifulSoup(web_data.content, features="html.parser")

  • نتیجه نهایی که من برای بازگشت انتخاب کردم، عناصری با تگ

    در موقعیت اول است [0].

news_info = soup.findAll("p")[0]
print(news_info.text

جمع کردن همه اینها:

from bs4 import BeautifulSoup
import requests
web_data = requests.get("https://www.lithuania.travel/en/category/what-is-lithuania", headers={"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36"})
soup = BeautifulSoup(web_data.content, features="html.parser")
news_info = soup.findAll("p")[0]
print(news_info.text)


و این هم خروجی:

4H_qTUMuvWXNGMKpGrxHfVY6WaEntz51xZ936GwYWY6JRXILVPyd06spEt6emH0XKajK3Ov0qLixzgrqtEC5cIr-81UxyB61fTPPNzEmphVkVkDoate Z2aGtv9OWLCUCA
نموداری که کد و نتیجه را نشان می دهد

مزایای استفاده از فایل requirements.txt

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

نتیجه

در این مقاله، نحوه ایجاد فایل requirement.txt را یاد گرفتیم و مزایای استفاده از آن را بیان کردیم.

شما همچنین باید آن را امتحان کنید و روی چند پروژه با آن کار کنید. اگر سوالی دارید، می توانید با من تماس بگیرید توییتر 💙