آموزش ساخت محیط مجازی در پایتون – از صفر تا صد
هنگام توسعه نرمافزار با زبان برنامهنویسی پایتون، رویکردی ساده این است که پایتون و کتابخانههای مورد نیاز را از طریق خط فرمان یا ترمینال بر روی کامپیوتر شخصی خود نصب و پس از نوشتن تمام کدها در فایلی با فرمت py، آن را اجرا کنید. روشی رایج که بسیاری از افراد مبتدی در زمینه کار با زبان پایتون از آن استفاده میکنند. اما چنین فرایندی تنها برای پروژههای کوچک مناسب بوده و توسعه نرمافزارهای پیچیده مانند ساخت کتابخانه، API یا SDK، اغلب شامل کار با تعداد زیادی فایل و بسته نرمافزاری میشود. در نتیجه نیاز دارید تا محیط توسعه پایتون را به نوعی و برای آن پروژه خاص ایزوله کنید. در این مطلب از مجله فرادرس با مفهوم و همچنین نحوه ساخت محیط مجازی در پایتون آشنا میشویم. ابزاری که یادگیری آن در مسیر حرفهای شدن امری لازم و ضروری است.
در این مطلب ابتدا با مفهوم و همچنین نحوه ساخت محیط مجازی در پایتون آشنا میشویم. سپس یاد میگیریم که چگونه میتوان محیط مجازی را فعال و کتابخانههای مورد نظر را نصب کرد. در انتها این مطلب از مجله فرادرس نیز به شرح فرایند غیر فعالسازی محیط مجازی میپردازیم.
محیط مجازی چیست؟
به محیط یا فضایی که مفسر پایتون، کتابخانهها و فایلهای نصب شده از دیگر کتابخانههای موجود در سیستم جدا شدهاند، محیط مجازی گفته میشود. به بیان سادهتر، فعالسازی محیط مجازی باعث میشود تا فایلهای پروژه در فضایی مجزا از فایلهای سیستمی قرار بگیرند. برای مثال هر کدام از محیطهای مجازی، ابزار pip منحصر به خود را برای نصب کتابخانهها دارند و از نسخههای متفاوت زبان پایتون استفاده میکنند. به این صورت، مدیریت هر پروژه جداگانه انجام شده و مزایا زیر را به همراه دارد:
- محیط مجازی هر پروژه از دیگر فایلها و پروژهها جدا بوده و تداخلی با بستههای نرمافزاری نصب شده بر روی سیستم عامل و دیگر محیطهای مجازی ندارد.
- امکان ساخت محیط مجازی جدید برای چند نسخه از پایتون وجود دارد.
- میتوانید بستههای نرمافزاری را بدون نیاز به دسترسی ادمین برای پروژه خود نصب کنید.
- منظمسازی و اشتراکگذاری فایلهای پروژه به مراتب راحتتر است.
- میتوان لیستی از کتابخانههای مورد نیاز را در فایلی ذخیره کرد، تا دیگر افراد تیم نیز آنها را نصب و استفاده کنند.
بهطور کلی، زمانی بهرهگیری از محیط مجازی پیشنهاد میشود که قصد توسعه پروژه را داشته باشیم و با گذشت زمان به تعداد فایلها اضافه شود. ساخت محیط مجازی در پایتون راههای گوناگونی دارد که در ادامه و بخش بعدی بیشتر در مورد آن توضیح میدهیم.
ساخت محیط مجازی در پایتون
ابزار Virtualenv از جمله رایجترین کتابخانههایی است که در ساخت و راهاندازی محیط مجازی مورد استفاده قرار میگیرد. از نسخه ۳/۳ پایتون به بعد، بخشی از Virtualenv با عنوان venvبه کتابخانههای استاندارد اضافه شده است. برای نصب این کتابخانه، دستور زیر را در محیط خط فرمان وارد کنید:
pip install virtualenv
برای استفاده از venvدر پروژه خود، ابتدا باید با دستور cdبه پوشه مورد نظر منتقل شده و سپس دستور زیر را اجرا کنید:
python<version> -m venv <virtual-environment-name>
مانند نمونه:
mkdir projectA cd projectA python3.8 -m venv env
با بررسی پوشه projectAمتوجه میشوید که پوشه جدیدی به نام envساخته شده است. در حقیقت envهمان نام محیط مجازی شماست که میتواند هر اسم دیگری نیز داشته باشد. در سیستم عامل macOS یک پوشه به نام binو چند اسکریپت پایتون مانند فایل فعالسازی یا activate، فایل pip برای نصب کتابخانهها و مفسر پایتون در پوشه envقرار میگیرند. معادل این فولدر در سیستم عامل ویندوز Scriptsنام دارد. از طرف دیگر، پوشه libشامل لیستی از کتابخانههای نصب شده است. اگر نگاهی به این پوشه بیندازید، متوجه لیستی از کتابخانههای پیشفرض همراه با فایل محیط مجازی میشوید.
چگونه پایتون را با فرادرس یاد بگیریم؟
تا اینجا یاد گرفتیم که محیط مجازی در برنامهنویسی پایتون اهمیت ویژهای دارد. این محیط به شما امکان میدهد پروژههای مختلف را با کتابخانههای متفاوت پایتون و بدون تداخل با یکدیگر اجرا کنید. برای پروژههای کاربردی مانند یادگیری ماشین و توسعه نرمافزار، استفاده از محیط مجازی نه تنها مفید بلکه ضروری است. امروزه زبان پایتون در حوزههای متنوعی از جمله هوش مصنوعی، تحلیل داده، توسعه وب و بازی سازی کاربرد دارد.
شما نیز اگر قصد دارید پایتون را از مباحث مقدماتی تا پیشرفته و از اساتید مجرب یاد بگیرید، پیشنهاد میکنیم مجموعه فیلمهای آموزش برنامهنویسی پایتون فرادرس را از لینک زیر دنبال کنید:
این دورهها به شما کمک میکنند تا مفاهیم مهم و لازم در پروژههای پایتون را به صورت کاربردی و عملی فرا بگیرید.
نحوه فعالسازی محیط مجازی
حالا که با نحوه ساخت محیط مجازی در پایتون آشنا شدیم، این بخش را به آموزش فعالسازی محیط مجازی اختصاص میدهیم. برای فعالسازی محیط مجازی در سیستم عامل macOS باید دستور زیر اجرا شود:
source env/bin/activate
بلافاصله پس از اجرا دستور فعالسازی، عنوان env در مسیر خط فرمان نمایان خواهد شد. توجه داشته باشید که برای فعالسازی محیط مجازی در ویندوز، اجرا یکی از دو دستور زیر در محیط خط فرمان (CMD) یا پاورشل (PowerShell) لازم است:
env/Scripts/activate.bat //In CMD env/Scripts/Activate.ps1 //In PowerShell
پس از فعالسازی محیط مجازی، باید نسبت به مجزا بودن پروژه از دیگر فایلها اطمینان حاصل کنیم. به همین منظور ابتدا باید لیست بستههای نصب شده در محیط مجازی را با اجرا دستور زیر بررسی کنیم:
pip list
با اجرا دستور فوق، تنها دو بسته pip و setuptools که بهطور پیشفرض نصب هستند نمایش داده میشوند. اگر همین دستور را خارج از محیط مجازی اجرا کنید، احتمال دارد با کتابخانههای بیشتری روبهرو شوید که در سابق بر روی سیستم خود نصب کردهاید. در مطلب کاملتری از مجله فرادرس به معرفی و مقایسه ابزارهای مختلف محیط مجازی پرداختهایم که از طریق لینک زیر قابل مطالعه است:
نصب کتابخانه در محیط مجازی
برای نصب کتابخانه در محیط مجازی تنها کافیست از دستور pip installاستفاده کنید. دقت داشته باشید که نسخه کتابخانه pip در محیط مجازی با نسخه سیستم عامل متفاوت بوده و نیازی به استفاده از pip3 نیست. بعد از نصب کتابخانههای مورد نیاز، میتوانید دستور pip listرا اجرا و لیست کامل کتابخانهها را در محیط خط فرمان دریافت کنید. برای یادگیری بیشتر درباره کتابخانههای پیشفرض پایتون، میتوانید فیلم آموزش کتابخانه استاندارد پایتون فرادرس را از طریق لینک زیر مشاهده کنید:
با اجرا دستور زیر، لیستی از کتابخانههای مورد نیاز پروژه در فایلی به نام requirements.txtذخیره میشود:
pip freeze > requirements.txt
اسم این فایل دلخواه است و میتواند هر عنوان دیگری نیز باشد. اما اهمیت فایل reuqirementsزمانی مشخص میشود که بخواهید پروژه را به اشتراک بگذارید. به عنوان مثال فرض کنید پروژه خود را - بدون پوشه env - به فرمت zip فشرده کرده و در اختیار دوست خود قرار دادهاید. با اجرا دستورالعملهایی که تا اینجا یاد گرفتهایم، دوست شما میتواند همان محیط مجازی را بازسازی کند. تنها کافیست دستور زیر را اجرا کرده تا همه کتابخانههای پیشنیاز مجدد نصب شوند:
pip install -r requirements.txt
توجه داشته باشید که پیشنهاد نمیشود پوشه envرا در اختیار کسی قرار دهید. چرا که به راحتی و در محیط مجازی قابل تولید است. در صورت استفاده از سرویسهایی مانند Git و Github، فایل دیگری با عنوان .gitignoreنیز در پوشه envقرار دارد که از اشتراکگذاری برخی از فایلهای پروژه در فضای اینترنت جلوگیری میکند.
غیر فعالسازی محیط مجازی
برای غیر فعالسازی و خارج شدن از محیط مجازی باید دستور زیر را اجرا کنید:
deactivate
در جهان برنامهنویسی، رویکردهای مختلفی برای حل مسائل وجود دارد. دو رویکرد اصلی که در زبان پایتون نیز بسیار پرکاربرد هستند، برنامهنویسی شی گرا (Object-Oriented) و برنامهنویسی تابعی (Functional Programming) نامیده میشوند. با بهرهگیری از برنامهنویسی شی گرا میتوانید کدها را به صورت ماژولار و قابل استفاده مجدد بنویسید. در مقابل، همانطور که از نام آن نیز مشخص است، برنامهنویسی تابعی بر اساس توابع کار میکند. جایی که هر تابع یک وظیفه خاص را انجام میدهد و میتواند به توسعه کدهای قابل پیشبینی و آزمایشپذیرتری منجر شود.
برای درک عمیقتر این مفاهیم و چگونگی پیادهسازی آنها در پایتون، مشاهده فیلمهای آموزش برنامهنویسی شی گرا و تابعی فرادرس را به ترتیب زیر پیشنهاد میکنیم:
- فیلم آموزش برنامهنویسی شی گرا در پایتون فرادرس
- فیلم آموزش پروژهمحور شی گرایی در پایتون فرادرس
- فیلم آموزش برنامهنویسی تابعی در پایتون فرادرس
جمعبندی
بهطور خلاصه با ساخت محیط مجازی در پایتون میتوانید پروژههای خود را از فایلهای سیستمی یا دیگر محیطهای مجازی جدا کنید. به این شکل علاوهبر داشتن کنترل کامل، امکان بازتولید پروژهها در هر زمان و محیط نرمافزاری وجود دارد. در این مطلب از مجله فرادرس یاد گرفتیم محیط مجازی چیست و چگونه در زبان برنامهنویسی پایتون مدیریت میشود. راهکاری که بهرهگیری از آن برای توسعه پروژههای حرفهای لازم و ضروری است.