یکی از بهترین روشها برای مدیریت پکیجهای پروژههای پایتونی، استفاده از محیطهای مجازی یا همان Virtual Environment است. این محیطها به شما اجازه میدهند تا برای هر پروژه، کتابخانهها و وابستگیهای جداگانهای نصب کنید، بدون اینکه سیستمعامل یا پروژههای دیگر تحت تأثیر قرار بگیرند.
چرا از محیط مجازی استفاده کنیم؟
- جلوگیری از تداخل نسخههای کتابخانهها
- مدیریت آسان وابستگیها
- قابلیت انتقال و بازتولید پروژه روی سیستمهای دیگر
- بهویژه برای توسعه پروژههایی که نیاز به نسخههای خاصی از پکیجها دارند
پیشنیازها
- نصب بودن Python 3 (نسخههای جدید Ubuntu معمولاً Python 3 را بهصورت پیشفرض دارند)
- دسترسی به ترمینال و اینترنت
مراحل ایجاد محیط مجازی در Ubuntu
۱. نصب ابزار venv (در صورت نیاز)
در اکثر نسخههای پایتون، ابزار venv برای ساخت محیط مجازی بهصورت پیشفرض موجود است. اما اگر نبود، این دستور را اجرا کنید:
sudo apt update sudo apt install python3-venv
۲. ایجاد محیط مجازی
ابتدا وارد پوشهی پروژه شوید:
cd /home/username/myproject
سپس با دستور زیر محیط مجازی را ایجاد کنید:
python3 -m venv env
در اینجا، env
نام پوشهای است که محیط مجازی در آن ذخیره میشود. میتوانید به جای آن، نام دلخواه خود را وارد کنید.
۳. فعالسازی محیط مجازی
برای فعالسازی محیط مجازی در لینوکس:
source env/bin/activate
پس از اجرای این دستور، مشاهده میکنید که ترمینال شما چیزی مانند (env)
در ابتدای خط فرمان نمایش میدهد. این یعنی محیط مجازی فعال است.
۴. نصب پکیجها
اکنون که در محیط مجازی هستید، میتوانید هر پکیجی را با pip نصب کنید:
pip install fastapi uvicorn requests
برای ثبت وابستگیها جهت استفاده دیگران یا نصب مجدد:
pip freeze > requirements.txt
۵. اجرای فایل پایتون
مثلاً برای اجرای یک فایل main.py
:
python main.py
یا اگر پروژه با FastAPI ساخته شده:
uvicorn main:app --reload
۶. غیرفعالسازی محیط مجازی
زمانی که کارتان تمام شد و میخواهید از محیط مجازی خارج شوید:
deactivate
محیط مجازی غیرفعال شده و ترمینال به حالت عادی بازمیگردد.
نکات پایانی
- بهتر است پوشهی
env
را در فایل.gitignore
قرار دهید تا وارد گیت نشود. - برای اجرای محیط در ویندوز، دستور فعالسازی به شکل زیر است:
.\env\Scripts\activate
ایجاد محیط مجازی در پایتون یکی از پایههای مهم توسعه حرفهای و تمیز است. با جداسازی وابستگیهای هر پروژه، نهتنها از مشکلات رایج جلوگیری میکنید، بلکه به راحتی میتوانید پروژه را بین اعضای تیم یا روی سرورهای مختلف اجرا کنید.
پاسخها