পাইথন-ভিত্তিক অ্যাপ্লিকেশন ডেভেলপ করার সময় একটি নির্দিষ্ট সংস্করণের পাইথন প্যাকেজ দরকার হতে পারে। কিন্তু যদি এই প্যাকেজের একই সংস্করণ সিস্টেম-ওয়াইড ব্যবহারের জন্য ইনস্টল করা হয়, তবে এটি অন্য অ্যাপ্লিকেশন들의 চাহিদার সাথে সংঘাত তৈরি করতে পারে। তাই প্রতিটি উদ্দেশ্যের জন্য সাইড-বাই-সাইড এনভায়রনমেন্ট থাকা প্রیফারেবল যাতে কম্প্যাটিবিলিটি সমস্যা সমাধান করা যায়।
ভার্চুয়াল এনভায়রনমেন্ট পাইথন প্যাকেজগুলিকে একটি নির্দিষ্ট অ্যাপ্লিকেশনের জন্য একটি Изোলেটেড লোকেশনে ইনস্টল করার অনুমতি দেয়, বরং গ্লোবালি ইনস্টল করার পরিবর্তে।
পাইথনের স্ট্যান্ডার্ড লাইব্রেরির venv মডিউল ভার্চুয়াল এনভায়রনমেন্ট তৈরি করতে ব্যবহৃত হয়। একটি ভার্চুয়াল এনভায়রনমেন্ট ফাইল সিস্টেমের একটি ডিরেক্টরি যাতে পাইথন ইন্টারপ্রেটার এবং অন্যান্য স্ক্রিপ্টের নিজস্ব কপি থাকে। নিচের কমান্ড নির্দিষ্ট ডিরেক্টরিতে একটি ভার্চুয়াল এনভায়রনমেন্ট তৈরি করে:
C:\python37>python -m venv e:\testenv
নির্দিষ্টtings অনুযায়ী একটি নতুন ডিরেক্টরি তৈরি হবে। উপরের কমান্ড ঐচ্ছিকভাবে নিচের সুইচগুলো ব্যবহার করতে পারে:
| --system-site-packages | ভার্চুয়াল এনভায়রনমেন্টকে সিস্টেম site-packages ডিরেক্টরিতে অ্যাক্সেস দেয়। |
| --symlinks | কপির পরিবর্তে সিমলিংক ব্যবহার করার চেষ্টা করে। |
| --copies | সিমলিংকের পরিবর্তে কপি ব্যবহার করার চেষ্টা করে। |
| --clear | যদি এনভায়রনমেন্ট ডিরেক্টরি বিদ্যমান থাকে তবে এর কন্টেন্ট মুছে দেয়। |
| --upgrade | এনভায়রনমেন্ট ডিরেক্টরি আপগ্রেড করে এই পাইথন সংস্করণ ব্যবহার করার জন্য। |
| --without-pip | ভার্চুয়াল এনভায়রনমেন্টে পিপ ইনস্টল বা আপগ্রেড বাদ দেয় (পিপ ডিফল্টভাবে বুটস্ট্র্যাপ হয়)। |
ENV_DIR (এই কেসে testenv) এর অধীনে 'scripts' ফোল্ডারে পাইথন ইন্টারপ্রেটার, পিপ ইনস্টলার এবং এনভায়রনমেন্ট এক্টিভেট ও ডिएক্টিভেট করার স্ক্রিপ্টের লোকাল কপি থাকে।
activate activate.bat activate.ps1 deactivate.bat easy_install-3.7.exe easy_install.exe pip.exe pip3.7.exe pip3.exe python.exe pythonw.exe
ভার্চুয়াল এনভায়রনমেন্ট এক্টিভেট করা
আইসোলেটেড এনভায়রনমেন্টে পাইথন শুরু করতে, এটি প্রথমে এক্টিভেট করতে হবে। এই উদ্দেশ্যে কমান্ড লাইন থেকে 'activate.bat' আহ্বান করতে হবে।
E:\testenv>scripts\activate (testenv) E:\testenv>python Python 3.7.2 (tags/v3.7.2:9a3ffc0492, Dec 23 2018, 23:09:28) [MSC v.1916 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>>
DOS প্রম্পটের বামপাশে প্যারেনথেসিসে ভার্চুয়াল এনভায়রনমেন্টের নাম দেখায়। এখন আপনি ভার্চুয়াল এনভায়রনমেন্টে পাইথন ব্যবহার করতে পারেন।
ভার্চুয়াল এনভায়রনমেন্টের scripts ফোল্ডারের pip3 ইউটিলিটি ব্যবহার করে কোনো প্যাকেজ ইনস্টল করলে, এটি লোকালি ইনস্টল হবে এবং সিস্টেম-ওয়াইড ব্যবহারের জন্য উপলব্ধ نخবে।
ভার্চুয়াল এনভায়রনমেন্ট ডिएক্টিভেট করা
সাধারণ এনভায়রনমেন্টে ফিরে যেতে, scripts ফোল্ডারের 'deactivate.bat' ব্যবহার করে ভার্চুয়াল এনভায়রনমেন্ট নিষ্ক্রিয় করতে হবে।
>>> quit() (testenv) E:\testenv>scripts\deactivate E:\testenv>
পাইথন ৩.৩-এর আগের সংস্করণের জন্য, virtualenv ব্যবহার করতে হবে যা আলাদাভাবে ইনস্টল করতে হয়।
venv মডিউল প্রোগ্রাম্যাটিকভাবে ভার্চুয়াল এনভায়রনমেন্ট তৈরি করার জন্য EnvironmentBuilder ক্লাস সংজ্ঞায়িত করে।