پرش به محتوای اصلی
دانشگاه هوش مصنوعی — Daneshgah AI

محیط مجازی چیست؟

Virtual Environment

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

توضیح کامل

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

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

یک نمونه ساده از کاربرد محیط مجازی مربوط به کسانی است که با کتابخانه‌های یادگیری ماشین، مانند TensorFlow و PyTorch، کار می‌کنند. این کتابخانه‌ها اغلب به نسخه‌ی خاصی از یک سری بسته‌ها نیاز دارند. با استفاده از محیط مجازی (مانند venv یا virtualenv)، می‌توانید هر پروژه را با کتابخانه‌های مخصوص خودش اجرا کنید، بدون آن‌که مشکلی برای پروژه‌های دیگر ایجاد شود.

این اصطلاح را نباید با ماشین مجازی (Virtual Machine) اشتباه گرفت. ماشین مجازی کل یک سیستم‌عامل را شبیه‌سازی می‌کند، در صورتی که محیط مجازی فقط یک محیط ایزوله در دل همان سیستم‌عامل برای مدیریت وابستگی‌های نرم‌افزاری پایتون (یا زبان‌های مشابه) ایجاد می‌کند.

در این مطالب توضیح داده شده

اصطلاح‌های مرتبط