محیط های مجازی virtualenv پایتون ابزارهای قدرتمندی هستند که به برنامهنویسان این امکان را میدهند تا وابستگیهای پروژههای مختلف را به صورت مستقل و جدا از یکدیگر مدیریت کنند. یکی از محبوبترین این ابزارها، virtualenv است. با استفاده از virtualenv، میتوانید برای هر پروژه یک محیط مستقل ایجاد کرده و نسخههای مختلف کتابخانهها و پکیجها را بدون تداخل با یکدیگر نصب کنید.
این موضوع به ویژه در مواقعی که پروژهها نیاز به نسخههای مختلف از یک کتابخانه دارند یا در حال کار بر روی چندین پروژه به طور همزمان هستید، بسیار مفید است. در این مقاله به بررسی نحوهی استفاده از virtualenv، مزایای آن، نحوه ساخت محیط مجازی و چگونگی مدیریت محیط مجازی در پایتون خواهیم پرداخت.
بیشتر بخوانید: آموزش جامع ساخت کتابخانه در پایتون
چگونه با استفاده از Virtualenv محیطهای مجازی در پایتون ایجاد کنیم؟
برای ایجاد محیطهای مجازی در پایتون، دو روش کلی وجود دارد:
استفاده از دستور virtualenv
این روش رایجترین روش برای ایجاد محیطهای مجازی است. برای استفاده از این روش، مراحل زیر را دنبال کنید:
- مرورگر خط فرمان خود را باز کنید.
- به مسیری که میخواهید ساخت محیط مجازی را انجام دهید، بروید.
- دستور زیر را اجرا کنید، و به جای myenv نام دلخواه خود را برای محیط مجازی انتخاب کنید:
Bash
virtualenv myenv
Use code with caution.
برای فعال کردن محیط های مجازی virtualenv، دستور زیر را اجرا کنید:
Bash
source myenv/bin/activate
Use code with caution.
حالا میتوانید از پایتون و ابزارهای pip در محیط مجازی خود استفاده کنید.
نکات:
می توانید با استفاده از پرچم -p نسخه پایتون مورد نظر خود را برای محیط مجازی مشخص کنید. به عنوان مثال، برای ساخت محیط مجازی در پایتون 3.8، از دستور زیر استفاده کنید:
Bash
virtualenv -p python3.8 myenv
Use code with caution.
می توانید با استفاده از پرچم –system-site-packages دسترسی به بستههای نصب شده در سطح سیستم را در محیط های مجازی virtualenv خود مجاز کنید.
استفاده از دستور venv
از نسخه 3.3 پایتون به بعد، میتوانید از دستور داخلی venv برای ایجاد محیطهای مجازی استفاده کنید. برای استفاده از این روش، مراحل زیر را دنبال کنید:
- مرورگر خط فرمان خود را باز کنید.
- به مسیری که میخواهید محیط مجازی را در آن ایجاد کنید، بروید.
- دستور زیر را اجرا کنید، و به جای myenv نام دلخواه خود را برای محیط مجازی انتخاب کنید:
Bash
python3 -m venv myenv
Use code with caution.
برای فعال کردن محیط مجازی در پایتون، دستور زیر را اجرا کنید:
Bash
source myenv/bin/activate
Use code with caution.
نکات:
فعال سازی venv شبیه به virtualenv است.
پس از فعال کردن و ساخت محیط مجازی، میتوانید از پایتون و ابزارهای pip در محیط مجازی خود استفاده کنید.
برای غیرفعال کردن محیط مجازی، دستور زیر را اجرا کنید:
Bash
deactivate
Use code with caution.
حذف محیط مجازی
برای حذف محیط مجازی، پوشه ی آن را حذف کنید. به عنوان مثال، برای حذف محیط مجازی myenv، دستور زیر را اجرا کنید:
Bash
rm -rf myenv
Use code with caution.
امیدوارم این توضیحات به شما در ایجاد محیط مجازی در پایتون با استفاده از Virtualenv کمک کند!
بیشتر بخوانید: آموزش استفاده از SQLite و SQLAlchemy
مزایای استفاده از محیطهای مجازی Virtualenv در پروژههای پایتون
محیط های مجازی virtualenv ابزاری قدرتمند برای توسعهدهندگان زبان برنامه نویسی پایتون هستند که مزایای متعددی را ارائه میدهند. در اینجا برخی از مهمترین مزایای استفاده از Virtualenv در پروژههای پایتون آورده شده است:
ایزوله کردن وابستگیها
هر پروژه پایتون ممکن است به مجموعه خاص خود از کتابخانهها و وابستگیها نیاز داشته باشد. Virtualenv به شما این امکان را میدهد که برای هر پروژه یک محیط جداگانه ایجاد کنید، که به شما اطمینان میدهد که وابستگیهای یک پروژه با پروژههای دیگر تداخل نخواهند داشت. این امر میتواند به جلوگیری از مشکلات رایج مانند خطاهای incompatibility و تداخل نامها کمک کند.
افزایش reproducibility
Virtualenv ایجاد و اشتراکگذاری محیطهای پایتون با reproducibility را آسانتر میکند. شما میتوانید یک فایل requirements.txt ایجاد کنید که تمام وابستگیهای مورد نیاز برای پروژه شما را لیست میکند. سپس هر کسی که میخواهد روی پروژه شما کار کند، میتواند با استفاده از این فایل به سرعت محیط virtuenv مناسب را ایجاد کند.
سازماندهی بهتر
Virtualenv به شما کمک میکند تا پروژههای پایتون خود را بهتر سازماندهی کنید. با ایجاد یک محیط virtuenv جداگانه برای هر پروژه، میتوانید به وضوح وابستگیها و نصبهای هر پروژه را از هم جدا کنید. این امر میتواند به یافتن و رفع اشکالات و همچنین به مدیریت پروژههای شما به طور کلی کمک کند.
امنیت افزایش یافته
محیط های مجازی virtualenv میتواند به افزایش امنیت پروژههای پایتون شما کمک کند. با ایزوله کردن وابستگیهای هر پروژه، میتوانید خطر نصب تصادفی نرمافزار مخرب یا آسیبپذیر را کاهش دهید. علاوه بر این، Virtualenv به شما این امکان را میدهد تا دسترسی به بستههای خاص را در هر محیط محدود کنید، که میتواند به محافظت از اطلاعات حساس کمک کند.
سهولت استفاده
Virtualenv برای استفاده بسیار آسان است. ابزار virtualenv به طور پیش فرض در بسیاری از نسخههای پایتون شامل میشود و نیاز به نصب هیچ نرمافزار اضافی نیست. دستورات ایجاد و مدیریت محیطهای virtuenv نیز بسیار ساده هستند.
در مجموع، Virtualenv یک ابزار ارزشمند برای هر توسعهدهنده پایتون است. با استفاده از Virtualenv، میتوانید وابستگیهای خود را ایزوله کنید، reproducibility پروژههای خود را افزایش دهید، پروژههای خود را به طور بهتر سازماندهی کنید، امنیت را افزایش دهید و بهره وری خود را بهبود بخشید.
راهنمای گام به گام نصب و استفاده از Virtualenv در پایتون
در ادامه راهنمای نصب و استفاده از Virtualenv در پایتون را با هم میخوانیم.
پیش نیازها
برای استفاده از این راهنما، به موارد زیر نیاز دارید:
- سیستم عامل: Virtualenv بر روی سیستمهای عامل مختلف از جمله Windows، macOS و Linux کار میکند.
- پایتون: شما به یک نسخه نصب شده از پایتون نیاز دارید. نسخه پایتون شما باید 2.7 یا بالاتر باشد.
نصب Virtualenv
دو روش اصلی برای نصب Virtualenv وجود دارد:
- روش 1: استفاده از pip
اگر از pip (مدیر بسته پایتون) استفاده میکنید، میتوانید Virtualenv را با دستور زیر نصب کنید:
Bash
pip install virtualenv
Use code with caution.
- روش 2: استفاده از easy_install
اگر در ساخت محیط مجازی از easy_install استفاده میکنید، میتوانید محیط های مجازی virtualenv را با دستور زیر نصب کنید:
Bash
easy_install virtualenv
Use code with caution.
ایجاد یک محیط مجازی
پس از نصب Virtualenv، میتوانید با استفاده از دستور زیر یک محیط مجازی جدید ایجاد کنید:
Bash
virtualenv myenv
Use code with caution.
در این دستور، myenv نامی است که برای محیط مجازی در پایتون خود انتخاب میکنید. شما میتوانید این نام را به هر چیزی که میخواهید تغییر دهید.
فعال کردن محیط مجازی
برای فعال کردن و ساخت محیط مجازی، باید از دستور زیر استفاده کنید:
Bash
source myenv/bin/activate
Use code with caution.
پس از فعال کردن محیط مجازی، پیشوندی مانند (myenv) در ابتدای خط فرمان خود خواهید دید. این نشان میدهد که شما در حال حاضر در محیط مجازی هستید.
نصب بستهها در محیط مجازی
هنگامی که در محیط مجازی فعال هستید، میتوانید بستههای پایتون را با استفاده از pip نصب کنید. بستهها در محیط مجازی نصب میشوند و بر نصب پایتون سیستم شما تاثیری نمیگذارند.
برای نصب یک بسته، از دستور زیر استفاده کنید:
Bash
pip install package_name
Use code with caution.
برای مثال، برای نصب بسته requests، از دستور زیر استفاده کنید:
Bash
pip install requests
Use code with caution.
غیرفعال کردن محیط مجازی
برای غیرفعال کردن محیط مجازی، از دستور زیر استفاده کنید:
Bash
deactivate
Use code with caution.
حذف یک محیط مجازی
برای حذف یک محیط های مجازی virtualenv، باید پوشه آن را حذف کنید. به عنوان مثال، برای حذف محیط مجازی myenv، از دستور زیر استفاده کنید:
Bash
rm -rf myenv
Use code with caution.
نکات:
میتوانید با استفاده از پرچم -p نسخه پایتون مورد نظر خود را برای محیط مجازی مشخص کنید. به عنوان مثال، برای ساخت محیط مجازی در پایتون 3.8، از دستور زیر استفاده کنید:
Bash
virtualenv -p python3.8 myenv
Use code with caution.
- میتوانید با استفاده از پرچم –system-site-packages دسترسی به بستههای نصب شده در سطح سیستم را در محیط مجازی خود مجاز کنید.
- میتوانید از چندین محیط مجازی برای پروژههای مختلف خود استفاده کنید.
- برای اطلاعات بیشتر در مورد Virtualenv، میتوانید به مستندات رسمی آن مراجعه کنید: https://readthedocs.org/projects/virtualenv/
امیدوارم این راهنما به شما در نصب و استفاده از Virtualenv در پایتون کمک کند!
حل مشکلات رایج در محیطهای مجازی Virtualenv پایتون
محیطهای مجازی Virtualenv ابزاری قدرتمند برای توسعهدهندگان پایتون هستند، اما گاهی اوقات با مشکلاتی مواجه میشوند. در اینجا برخی از مشکلات رایج Virtualenv و نحوه حل آنها آورده شده است:
خطای “virtualenv: command not found”
این خطا زمانی رخ میدهد که شما Virtualenv را نصب نکرده باشید. برای حل این مشکل، باید Virtualenv را با استفاده از یکی از روشهای نصب که در راهنمای بالا ذکر شد، نصب کنید.
خطای “Permission denied”
این خطا زمانی رخ میدهد که شما مجوز ایجاد پوشه برای محیط مجازی در پایتون را ندارید. برای حل این مشکل، باید با مجوز مدیر سیستم دستور را اجرا کنید یا محیط مجازی را در یک مکان دیگر ایجاد کنید که به آن مجوز نوشتن دارید.
خطای “Could not create directory: myenv”
این خطا زمانی رخ میدهد که پوشهای با نام myenv در مسیر مورد نظر شما وجود داشته باشد. برای حل این مشکل، میتوانید نام محیط مجازی خود را تغییر دهید یا پوشه موجود را حذف کنید.
فعال نشدن محیط مجازی
اگر هنگام تلاش برای فعال کردن محیط مجازی با مشکل مواجه هستید، ممکن است فایل activate خراب شده باشد. برای حل این مشکل، میتوانید محیط مجازی را دوباره ایجاد کنید یا فایل activate را از یک محیط مجازی کار کننده کپی کنید.
عدم نصب بستهها در محیط مجازی
اگر هنگام تلاش برای نصب بستهها در محیط مجازی با مشکل مواجه هستید، ممکن است فعال نباشید. برای اطمینان، پیشوند (myenv) را در ابتدای خط فرمان خود بررسی کنید. اگر فعال نیستید، با استفاده از دستور source myenv/bin/activate محیط مجازی را فعال کنید.
تداخلات بین محیطهای مجازی
اگر از چندین محیط مجازی در پایتون استفاده میکنید، ممکن است با تداخلات بین آنها مواجه شوید. برای جلوگیری از این مورد، باید برای هر پروژه از یک محیط مجازی جداگانه استفاده کنید و از نصب بستههای یکسان در محیطهای مجازی مختلف خودداری کنید.
نکات:
- اگر با مشکلی مواجه هستید که نمیتوانید آن را حل کنید، میتوانید برای کمک به مستندات محیط های مجازی virtualenv یا به یک انجمن آنلاین مراجعه کنید.
- همیشه یک نسخه پشتیبان از پروژههای خود را نگه دارید تا در صورت بروز مشکل در محیط مجازی بتوانید آنها را بازیابی کنید.
امیدوارم این اطلاعات به شما در حل مشکلات رایج Virtualenv کمک کند!
چرا باید از Virtualenv برای مدیریت وابستگیها در پایتون استفاده کنید؟
Virtualenv ابزاری قدرتمند برای توسعهدهندگان پایتون است که به شما امکان میدهد محیطهای جداگانهای را برای هر پروژه ایجاد کنید. این امر مزایای متعددی را ارائه میدهد، از جمله:
ایزوله کردن وابستگیها
هر پروژه پایتون ممکن است به مجموعه خاص خود از کتابخانهها و وابستگیها نیاز داشته باشد. Virtualenv به شما این امکان را میدهد که برای هر پروژه یک محیط جداگانه ایجاد کنید، که به شما اطمینان میدهد که وابستگیهای یک پروژه با پروژههای دیگر تداخل نخواهند داشت. این امر میتواند به جلوگیری از مشکلات رایج مانند خطاهای incompatibility و تداخل نامها کمک کند.
مثال:
فرض کنید در حال کار بر روی دو پروژه پایتون هستید: یک وبسایت و یک برنامه خط فرمان. وبسایت شما به کتابخانه Django نیاز دارد، در حالی که برنامه خط فرمان شما به کتابخانه Click نیاز دارد. اگر از Virtualenv استفاده نکنید، ممکن است با مشکلاتی مواجه شوید زیرا هر دو کتابخانه از نامهای مشابهی برای توابع و کلاسها استفاده میکنند. با Virtualenv، میتوانید برای هر پروژه یک محیط جداگانه ایجاد کنید و هر کدام از کتابخانههای مورد نیاز خود را بدون هیچ گونه تداخلی نصب کنید.
افزایش reproducibility
Virtualenv ایجاد و اشتراکگذاری محیطهای پایتون با reproducibility را آسانتر میکند. شما میتوانید یک فایل requirements.txt ایجاد کنید که تمام وابستگیهای مورد نیاز برای پروژه شما را لیست میکند. سپس هر کسی که میخواهد روی پروژه شما کار کند، میتواند با استفاده از این فایل به سرعت محیط virtuenv مناسب را ایجاد کند.
مثال:
اگر با تیمی از توسعهدهندگان روی یک پروژه کار میکنید، میتوانید از Virtualenv برای اطمینان از اینکه همه با همان محیط پایتون کار میکنند استفاده کنید. این میتواند به جلوگیری از مشکلاتی کمک کند که ممکن است زمانی که افراد از نسخههای مختلف پایتون یا کتابخانهها استفاده میکنند، ایجاد شود.
سازماندهی بهتر
محیط های مجازی virtualenv به شما کمک میکند تا پروژههای پایتون خود را بهتر سازماندهی کنید. با ایجاد یک محیط virtuenv جداگانه برای هر پروژه، میتوانید به وضوح وابستگیها و نصبهای هر پروژه را از هم جدا کنید. این امر میتواند به یافتن و رفع اشکالات و همچنین به مدیریت پروژههای شما به طور کلی کمک کند.
مثال:
اگر چندین پروژه پایتون در حال انجام دارید، میتوانید از ساخت محیط مجازی در پایتون برای سازماندهی آنها بر اساس موضوع، مشتری یا هر معیار دیگری که برای شما مناسب است استفاده کنید. این میتواند به شما کمک کند تا به سرعت و به آسانی پروژههایی را که به آنها نیاز دارید پیدا کنید.
امنیت افزایش یافته
Virtualenv میتواند به افزایش امنیت پروژههای پایتون شما کمک کند. با ایزوله کردن وابستگیهای هر پروژه، میتوانید خطر نصب تصادفی نرمافزار مخرب یا آسیبپذیر را کاهش دهید. علاوه بر این، Virtualenv به شما این امکان را میدهد تا دسترسی به بستههای خاص را در هر محیط محدود کنید، که میتواند به محافظت از اطلاعات حساس کمک کند.
مثال:
اگر روی یک پروژه پایتون حساس کار میکنید، میتوانید از Virtualenv برای ایزوله کردن آن از سایر پروژهها و محدود کردن دسترسی به بستهها استفاده کنید. این میتواند به جلوگیری از دسترسی افراد غیرمجاز به کد یا دادههای شما کمک کند.
سهولت استفاده
Virtualenv برای استفاده بسیار آسان است. ابزار virtualenv به طور پیش فرض در بسیاری از نسخههای پایتون شامل میشود و نیاز به نصب هیچ نرمافزار اضافی نیست.
استفاده از Virtualenv با Pipenv
Pipenv ابزاری جدیدتر برای مدیریت وابستگیهای پایتون است که بر روی Virtualenv ساخته شده است. Pipenv به شما این امکان را میدهد که وابستگیهای پروژه خود را در یک فایل Pipfile تعریف کنید و سپس آنها را به طور خودکار با استفاده از یک دستور واحد نصب کنید.
برای استفاده از Pipenv با محیط های مجازی virtualenv ابتدا باید Pipenv را نصب کنید:
Bash
pip install pipenv
Use code with caution.
سپس، میتوانید یک فایل Pipfile در ریشه پروژه خود ایجاد کنید تا وابستگیهای خود را تعریف کنید. به عنوان مثال، فایل Pipfile زیر وابستگیهای requests و beautifulsoup4 را تعریف میکند:
Python
[requires]
requests = ^2.27.1
beautifulsoup4 = ^4.10.0
[dev-requires]
pytest = ^6.3.2
Use code with caution.
برای نصب وابستگی ها، میتوانید از دستور زیر استفاده کنید:
Bash
pipenv install
Use code with caution.
Pipenv همچنین میتواند برای انجام سایر وظایف مانند به روز رسانی وابستگی ها، حذف وابستگیها و ایجاد محیطهای مجازی جدید استفاده شود.
استفاده از Virtualenv با Docker
Docker ابزاری برای کانتینر سازی است که به شما امکان میدهد برنامهها را در محیطهای جداگانه و ایزوله اجرا کنید. محیط های مجازی virtualenv را میتوان در ظروف Docker برای ایجاد محیطهای توسعه پایتون پایدار و قابل تکرار استفاده کرد.
برای استفاده و ساخت محیط مجازی در پایتون با Docker، ابتدا باید Docker را نصب کنید. سپس، میتوانید یک Dockerfile ایجاد کنید که تصویر Docker شما را تعریف کند. به عنوان مثال، Dockerfile زیر یک تصویر Docker با پایتون 3.8 و Virtualenv نصب شده ایجاد میکند:
Dockerfile
FROM python:3.8
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY . .
CMD ["python", "main.py"]
Use code with caution.
برای ساختن و اجرای تصویر Docker، میتوانید از دستورات زیر استفاده کنید:
Bash
docker build -t my-image .
docker run -it my-image
Use code with caution.
این شما را به یک پوسته تعاملی در محیط مجازی در داخل ظرف Docker میرساند.
سخن پایانی
محیطهای مجازی Virtualenv ابزاری قدرتمند برای توسعهدهندگان پایتون هستند که به جداسازی پروژهها و وابستگیهای آنها کمک میکنند. با ساخت محیط مجازی هر پروژه میتواند وابستگیهای خاص خود را بدون تداخل با سایر پروژهها داشته باشد.
نصب و آزمایش کتابخانههای جدید بدون خطر خراب کردن سایر پروژهها به کمک محیط های مجازی virtualenv امکانپذیر است. به اشتراکگذاری پروژهها در محیط مجازی در پایتون با دیگران آسانتر میشود، زیرا آنها میتوانند به راحتی محیط مجازی را با وابستگیهای صحیح راهاندازی کنند.
سوالات متداول درباره محیط مجازی در پایتون
در ادامه سوالات متداول شما را درباره محیط های مجازی virtualenv بررسی میکنیم.
محیط مجازی پایتون چیست و چه کاری انجام میدهد؟
محیط مجازی پایتون (یا Virtualenv) ابزاری است که به شما امکان میدهد محیطهای جداگانه و ایزوله ای را برای پروژههای پایتون خود ایجاد کنید. هر محیط مجازی دارای مجموعه خود از کتابخانهها و وابستگیها است که از سایر پروژهها جدا شده است.
چه زمانی باید از محیط مجازی پایتون استفاده کنم؟
شما باید در مواردی مانند کار بر روی چندین پروژه پایتون، نصب کتابخانههای خاص برای یک پروژه و آزمایش کتابخانههای جدید از محیط مجازی پایتون استفاده کنید:
چگونه یک محیط مجازی پایتون ایجاد کنم؟
ایجاد یک محیط مجازی پایتون با استفاده از ابزار virtualenv بسیار آسان است.