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

یک محیط مجازی یک فضای مستقل و جدا از پروژه های دیگر را ارائه می دهد که در آن می توانید نسخه های خاصی از مفسر، کد و کتابخانه های پایتون را اجرا کنید. این قابلیت داخلی است. اما چگونه می توان آنها را فعال، ایجاد و اجرا کرد؟

در این پست نگاه دقیق تری به این محیط های مجازی پایتون خواهیم داشت و راهنمای گام به گام ساخت آن ها را ارائه می دهیم.

محیط مجازی در پایتون چیست؟

یک محیط مجازی یا virtualenv، یک محیط توسعه کاملاً مستقل است که با مفسر پایتون، کتابخانه ها و وابستگی های مورد نیاز خود کامل می شود. این یک راه‌اندازی «مینی» پایتون ایجاد می‌کند که کاملاً از نصب پایتون در سطح سیستم و هر محیط مجازی دیگری که ممکن است داشته باشید جدا شده است.

محیط های مجازی مخصوصاً زمانی که نیاز به کار دارید مفید هستند روی چندین پروژه یا چندین نسخه از یک پروژه بدون ایجاد درگیری یا تاخیر.

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

این راه اندازی چندین مزیت را ارائه می دهد:

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

روش ایجاد یک محیط مجازی پایتون

اکنون که می دانیم محیط مجازی چیست، بیایید روش ایجاد آن را بررسی کنیم. توجه داشته باشید که راه های متعددی برای ایجاد a وجود دارد virtualenv، مانند:

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

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

مرحله 1 – یک VPS برای محیط مجازی خود دریافت کنید

ابتدا برای اجرای محیط مجازی خود به یک سرور خصوصی مجازی (VPS) نیاز دارید. اطمینان حاصل کنید که یک سرویس میزبانی VPS قابل اعتماد، ایمن و مقیاس پذیر را انتخاب کرده اید تا ایجاد و مدیریت چندین محیط مجازی در طولانی مدت آسان باشد.

پیشنهاد می‌کنیم بخوانید:  روش استفاده و نمایش داشیکن های وردپرس برای متمایز کردن تم خود

در هاستینگer، ما یک سرویس میزبانی VPS با مدل قیمت گذاری انعطاف پذیر، مجموعه ای از ویژگی های گسترده، پشتیبان گیری خودکار رایگان و 30 روز ضمانت بازگشت پول ارائه می دهیم.

مرحله 2 – سرور خصوصی مجازی خود را راه اندازی کنید

وارد VPS خود شوید و آن را در صورت نیاز پیکربندی کنید. به عنوان مثال، می‌توانید VPS را به‌روزرسانی کنید، کاربرانی را برای خود و همکارانتان ایجاد کنید، فایروال و سایر کنترل‌های امنیتی را پیکربندی کنید، و همچنین مخازن کد منبع مورد نیاز را بررسی کنید.

مرحله 3 – به VPS خود متصل شوید

بعد از اینکه VPS خود را راه اندازی کردید، آماده SSH هستید به آن SSH (Secure Shell) یک پروتکل ارتباطی امن برای دسترسی از راه دور و مدیریت سرورها است. می توانید از PuTTY، یک کلاینت SSH، برای SSH در VPS خود استفاده کنید.

مرحله 4 – پایتون را نصب کنید

سپس پایتون را نصب کنید روی VPS خود را با اجرای دستور زیر:

sudo apt install python3

نصب هم کنیم pip، همانطور که برای واکشی بسته های مورد نیاز استفاده می شود:

sudo apt install python3-pip

مرحله 5 – اولین محیط مجازی خود را ایجاد کنید

برای ایجاد اولین محیط مجازی جدید خود برای پایتون، به این نیاز دارید venv مدول. اگر از پایتون 3.3 یا بالاتر استفاده می کنید، venv ماژول در کتابخانه استاندارد گنجانده شده است، بنابراین نیازی به نصب جداگانه آن نیست.

با اجرای این دستور، نسخه پایتون خود را بررسی کنید:

python3 --version

اگر شما روی نسخه ای کمتر از 3.3، می توانید با اجرای این دستور ماژول را نصب کنید:

sudo apt install python3-venv

به یاد داشته باشید، اگر هستید روی 3.3 یا بالاتر، لازم نیست دستور بالا را اجرا کنید. در هر صورت، اکنون باید آماده اولیه سازی محیط مجازی باشید.

یک دایرکتوری محیط مجازی جدید ایجاد کنید و به صورت زیر در داخل آن حرکت کنید:

mkdir myproject

cd myproject

اکنون برای ایجاد محیط مجازی دستور زیر را اجرا کنید:

python3 -m venv myenv

جایگزین کردن myenv با نام محیط دلخواه شما

پس از چند لحظه، باید دایرکتوری جدیدی را مشاهده کنید که با نام محیط مجازی شما ایجاد شده است.

مرحله 6 – محیط مجازی را فعال کنید

برای فعال کردن یک محیط مجازی، این دستور را وارد کنید:

source myenv/bin/activate

اگر نام دیگری برای خود انتخاب کردید virtualenv، مطمئن شوید که به جای آن از آن استفاده کنید myenv در دستور بالا

پس از اجرای دستور، خط فرمان شما تغییر می کند تا نام محیط مجازی را به صورت زیر نمایش دهد:

این بدان معناست که محیط مجازی با موفقیت فعال شده است.

غیرفعال کردن و حذف محیط های مجازی

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

deactivate

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

توصیه می‌کنیم زمانی که محیط‌های مجازی برای آزاد کردن فضای دیسک و جلوگیری از بهم ریختگی نیازی به آن‌ها نیست، آن‌ها را حذف کنید روی سیستم شما برای حذف یک محیط مجازی، کافی است به دایرکتوری والد آن بروید و دستور زیر را صادر کنید:

rm -rf myenv

با این حال، محتاط باشید، زیرا دستور بالا به طور دائم دایرکتوری و محتویات آن را بدون تایید حذف می کند.

مدیریت چندین محیط

بهترین بخش در مورد ایجاد محیط های مجازی، آزادی داشتن هر تعداد که نیاز دارید است روی سیستم شما این بدان معنی است که شما می توانید یک محیط برای پروژه توسعه وب با استفاده از آن داشته باشید جانگو، دیگری برای پروژه تجزیه و تحلیل داده ها با استفاده از پانداهاو دیگری برای یک پروژه یادگیری ماشینی با استفاده از TensorFlow.

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

python3 -m venv myenv2

شما می توانید این محیط مجازی جدید را به همان روشی که قبلا انجام دادیم فعال کنید:

source myenv2/bin/activate

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

پیشنهاد می‌کنیم بخوانید:  روش نصب نخ روی لینوکس، macOS و ویندوز

نصب کتابخانه ها در یک محیط مجازی

بعد از اینکه یک venv را در پایتون ایجاد و فعال کردید، آماده نصب کتابخانه ها در داخل آن برای رسیدن به پیکربندی دلخواه هستید. pip همچنین باید در داخل محیط از قبل نصب شده باشد و اکنون کتابخانه های مورد نیاز را نصب خواهیم کرد.

به عنوان مثال، شما می توانید نصب کنید بی حسی کتابخانه با اجرای این دستور:

pip install numpy

انتظار خروجی مشابه این را داشته باشید:

همچنین امکان نصب نسخه خاصی از کتابخانه وجود دارد. به عنوان مثال، دستور زیر را نصب می کند 2.25.1 نسخه از درخواست ها کتابخانه، همراه با تمام وابستگی های آن:

pip install requests==2.25.1

برای مشاهده لیست بسته های نصب شده از این دستور استفاده کنید:

pip list

انتظار دیدن ناتوان، درخواست ها، و وابستگی آنها در خروجی:

نصب کتابخانه ها از طریق فایل نیازمندی ها

اگر پروژه شما از چندین کتابخانه استفاده می کند، می توانید یک فایل مورد نیاز نیز ایجاد کنید که لیست کتابخانه ها را به همراه نسخه های مورد نیاز آنها مشخص می کند. در اینجا روش یک نمونه است الزامات. txt فایل به نظر می رسد:

# General libraries

requests>=2.25.1

beautifulsoup4>=4.9.3

matplotlib>=3.4.2
# Development libraries

pytest>=6.2.4

flake8>=3.9.2

برای نصب تمام کتابخانه های فهرست شده در این فایل نیازمندی، این دستور را اجرا کنید:

pip install -r requirements.txt

این دستور به طور مکرر تمام بسته های فهرست شده پایتون و وابستگی های آنها را نصب می کند.

شما می توانید انجام دهید pip فهرست دوباره برای اطمینان از اینکه همه چیز به درستی نصب شده است:

کاوش سایر ویژگی های محیط مجازی

در بخش‌های بعدی، در مورد موارد اضافی صحبت خواهیم کرد virtualenv ویژگی هایی که برای توسعه دهندگان پایتون مفید است.

صادرات پیکربندی محیط

این venv ماژول به شما اجازه می دهد export پیکربندی یک محیط مجازی به یک فایل نیازمندی. اگر می‌خواهید تنظیمات محیط خود را با همکاران به اشتراک بگذارید یا آن را دوباره ایجاد کنید، می‌تواند مفید باشد روی ماشین دیگری

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

pip freeze > requirements.txt

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

بررسی یکپارچگی محیط

اگر در هر زمانی می خواهید مطمئن شوید که تمام وابستگی های موجود در محیط به روز و سازگار هستند، این دستور را اجرا کنید:

pip check

هر گونه ناهماهنگی یا مشکل را گزارش خواهد کرد. اگر هیچ کدام وجود ندارد، باید خروجی دهد:

No broken requirements found

به روز رسانی وابستگی ها

برای به روز رسانی تمام بسته های موجود در محیط مجازی خود به آخرین نسخه آنها، این دستور را اجرا کنید:

pip install --upgrade -r requirements.txt

نتیجه

محیط‌های مجازی پایتون یک راه بی‌خطر برای آزمایش کد پایتون در جعبه‌های ایمنی خودکفا هستند. این که آیا باید یک باگ تولید را بازتولید کنید، نسخه‌های مختلف کد پایتون را مدیریت کنید روی همان ماشین، یا با کتابخانه‌های مختلف آزمایش کنید بدون اینکه بر نصب اصلی پایتون تأثیری بگذارد، محیط‌های مجازی راه حلی هستند.

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

روش ایجاد یک محیط مجازی در Python پرسش و پاسخ

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

چرا باید یک محیط مجازی برای پروژه های پایتون خود ایجاد کنم؟

یک محیط مجازی به شما این امکان را می دهد که یک محیط سندباکس برای آزمایش برنامه های پایتون ایجاد کنید. هر محیطی می تواند نسخه خود را از مفسر پایتون، کد منبع و کتابخانه ها داشته باشد. به این ترتیب، می‌توانید خطاها را آزمایش کنید یا پیکربندی‌ها و سناریوهای مختلف را بدون تأثیر بر نصب پایتون آزمایش کنید. روی سیستم اصلی شما

آیا می توانم چندین محیط مجازی برای پروژه های مختلف پایتون ایجاد کنم؟

شما می توانید چندین محیط مجازی برای پروژه های پایتون خود ایجاد کنید روی همان ماشین برای جابجایی بین دو محیط مجازی، کافی است محیط فعلی را غیرفعال و دیگری را فعال کنید.

آیا می توانم بسته ها و وابستگی ها را در یک محیط مجازی نصب کنم؟

می توانید بسته ها و وابستگی ها را در یک محیط مجازی با استفاده از pip فرمان این بسته‌ها و وابستگی‌ها با هیچ‌یک از بسته‌های نصب شده تضاد ندارند یا جایگزین آن‌ها نمی‌شوند روی سیستم اصلی