برنامههای پایتون اغلب از بستهها و ماژولهایی استفاده میکنند که بخشی از کتابخانه استاندارد نیستند. برنامهها گاهی به نسخه خاصی از یک کتابخانه نیاز دارند، زیرا ممکن است برنامه نیاز داشته باشد باگ خاصی رفع شده باشد یا برنامه با نسخه منسوخی از رابط کتابخانه نوشته شده باشد.
این بدان معناست که ممکن است یک نصب پایتون نتواند نیازهای هر برنامهای را برآورده کند. اگر برنامه A به نسخه ۱.۰ یک ماژول خاص نیاز داشته باشد اما برنامه B به نسخه ۲.۰ نیاز داشته باشد، پس نیازها در تداخل هستند و نصب نسخه ۱.۰ یا ۲.۰ یکی از برنامهها را غیرقابل اجرا خواهد گذاشت.
راهحل این مشکل ایجاد یک محیط مجازی (virtual environment) است، یک درخت دایرکتوری مستقل که حاوی یک نصب پایتون برای یک نسخه خاص پایتون به علاوه تعدادی بسته اضافی است.
برنامههای مختلف میتوانند از محیطهای مجازی مختلف استفاده کنند. برای حل مثال تداخل نیازهای بالا، برنامه A میتواند محیط مجازی خودش را با نسخه ۱.۰ نصب شده داشته باشد در حالی که برنامه B محیط مجازی دیگری با نسخه ۲.۰ دارد. اگر برنامه B نیاز داشته باشد کتابخانهای به نسخه ۳.۰ ارتقا یابد، این محیط برنامه A را تحت تأثیر قرار نخواهد داد.
این محتوا کاملا رایگان توسط تیم کدلپر ترجمه شده و در اختیار شما کاربران عزیز قرار گرفته است، هر گونه کپی برداری برای مقاصد غیر رایگان و بدون ذکر منبع، مورد پیگیری قانونی قرار میگیرد.
ترجمه شده از منبع: https://docs.python.org/3/tutorial