جدید آموزش استفاده از محیط مجازی venv در پایتون
پایتون به شما امکان می دهد تا نصب بسته های جداگانه را برای پروژه های مختلف مدیریت کنید. venv یک فضای نصب پایتون ایزوله “مجازی” ایجاد می کند. هنگامی که روی پروژه های مختلف کار می کنید، می توانید یک محیط مجازی جدید ایجاد کنید که از سایر محیط های مجازی جدا شده است.
فایده محیط مجازی این است که ماژول ها و کتابخانه ها و بسته ها را می توانید با اطمینان نصب کرد و با محیط پروژه دیگر تداخلی نخواهد داشت.
همچنین اگر پروژه ای را برای شخص یا مشتری دیگری انجام دهید برای اطمینان از اینکه پروژه قطعا روی کامپیوتر او نیز بدون مشکل کار خواهد کرد بهترین راه استفاده از محیط مجازی است.
فرض کنید شما برنامه را با یک نسخه خاص از پایتون می نویسید و کتابخانه ها و بسته های ثالث را دانلود و نصب می کنید. برنامه شما با ورژن های فعلی کتابخانه هایی که نصب کرده اید به خوبی روی کامپیوتر شما اجرا می شوند. اما چه اطمینانی وجود دارد که اگر برنامه را برای شخص دیگری ارسال کنید بدون مشکل و خطا روی کامپیوتر او نیز اجرا شود؟
بنابراین باید راهی پیدا کنید که او هم دقیقا از نسخه های مورد استفاده شما استفاده کند. راه حل استفاده از محیط مجازی است.
قبلا لازم بود که یک بسته به نام virtualenv برای ایجاد محیط مجازی نصب کنیم. اما در نسخه های جدید پایتون می توان از venv که به صورت پیش فرض در اختیار شما قرار دارد استفاده کنید.
حالا قصد داریم به طور کاملا عملی نحوه استفاده از venv را به شما آموزش دهیم.
ابتدا فرض کنید که یک پوشه برای پروژه خود ایجاد کرده ایم. در مثال ما نام پوشه KaraKit است. همچنین نام فایل پایتون ما main.py است.
حالا باید پنجره خط فرمان را با دستور cmd باز کنید. راحت ترین کار این است که در نوار آدرس پوشه تایپ کنید:
cmd
و بعد دکمه Enter را بزنید.
یک پنجره خط فرمان باز می شود که آدرس آن همان پوشه شماست.
حالا کافی است که دستور زیر را وارد کنید تا محیط مجازی ساخته شود:
py -m venv venv
در این دستور عبارت venv دوم نام پوشه فضای مجازی شماست و می تواند هر نام دیگری داشته باشد. اگر اکنون به پوشه نگاه کنید می بینید که یک پوشه دیگر به نام venv داخل آن اضافه شده است.
برای فعال کردن محیط مجازی دستور زیر را وارد کنید:
venv\scripts\activate
اگر همه چیز به خوبی پیش برود باید عبارت (venv) مشابه این شکل به ابتدای خط فرمان اضافه شود:
حالا کتابخانه ها و بسته های مورد نیاز را با استفاده از pip نصب کنید. به طور مثال در مثال ما کتابخانه ثالث pyttsx3
مورد نیاز است. بنابراین دستور زیر را وارد می کنیم:
pip install pyttsx3
کتابخانه باید مطابق شکل نصب شود:
وقتی همه کتابخانه ها و بسته های لازم را نصب کردید برنامه را با این دستور اجرا کنید و ببینید که به درستی اجرا می شود یا خیر:
py main.py
می بینید که برنامه ما با موفقیت اجرا شده است:
وقتی مطمئن شدید که برنامه درست اجرا می شود می توانید با استفاده از دستور freeze یک فهرست از بسته ها و کتابخانه های نصب شده به همراه نسخه آنها ایجاد کنید. برای این کار دستور زیر را وارد کنید:
Pip freeze > requirements.txt
با اجرای این دستور خواهید دید که یک فایل متنی به نام requirements به فولدر اضافه شده است:
اگر فایل متنی را باز کنید فهرستی از بسته ها را خواهید دید:
حالا می توانید فایل پایتون و فایل requirements را به راحتی zip کنید و برای شخص دیگری ارسال نمایید. اما یادتان باشد که پوشه venv را در فایل فشرده قرار ندهید.
اما کسی که پروژه را به طور فشرده تحویل می گیرد و از حالت فشرده خارج می کند باید چکار کند که بسته های مورد نظر شما نصب شوند؟
فرض کنید که ما به عنوان مشتری این دو فایل را دریافت کرده ایم. ابتدا باید مطابق ابتدای همین آموزش یک محیط مجازی ایجاد کنیم و آن را در محیط خط فرمان فعال نماییم.
حالا اگر پیش از نصب بسته های لازم سعی کنیم برنامه را اجرا کنیم با خطا مواجه خواهیم شد:
سپس با این دستور همه بسته های لازم را نصب می کنیم:
pip install -r requirements.txt
حالا اگر برنامه را در محیط فرمان اجرا کنیم بدون مشکل کار خواهد کرد.