virtualenvআপনাকে একটি কাস্টম পাইথন ইনস্টলেশন তৈরি করতে দেয় যেমন আপনার প্রকল্পের একটি উপ-ডিরেক্টরিতে। আপনার প্রতিটি প্রকল্পের নিজস্ব স্বতন্ত্র python(বা এমনকি বেশ কয়েকটি) তাদের নিজস্ব ভার্চুয়ালেনভের অধীনে থাকতে পারে। কিছু / সমস্ত পুণ্যার্থীদের পক্ষে এমনকি pythonদ্বন্দ্ব ছাড়াই (যেমন 2.7.16) এর একই সংস্করণ থাকা পুরোপুরি ঠিক - তারা পৃথকভাবে বেঁচে থাকে এবং একে অপরকে চেনে না। আপনি যদি সেগুলির যে কোনওটি ব্যবহার করতে চান python, আপনার activateএটি থাকতে হবে (একটি স্ক্রিপ্ট চালিয়ে যা অস্থায়ীভাবে আপনার সংশোধন করবে PATHযে ভার্চুয়ালেনভের bin/ডিরেক্টরিটি প্রথম আসে তা নিশ্চিত করে )। সেই বিন্দু থেকে, কল করা python(বা pipইত্যাদি) আপনি যতক্ষণ না deactivateএটি (যা পুনরুদ্ধার করে PATH) অবধি সেই ভার্চুয়ালেনভের সংস্করণটি গ্রহণ করবে ।
pyenvএর চেয়েও বিস্তৃত স্কেলে পরিচালিত হয় virtualenv- এতে পাইথন ইনস্টলেশনগুলির নিবন্ধক রয়েছে (এবং নতুন ইনস্টল করতে ব্যবহার করা যেতে পারে) এবং আপনি pythonকমান্ডটি ব্যবহার করার সময় পাইথনের কোন সংস্করণটি চালিত হবে তা কনফিগার করতে দেয় । অনুরূপ মনে হয় তবে ব্যবহারিক ব্যবহার কিছুটা আলাদা। এটি pythonআপনার PATH(স্থায়ীভাবে) শিম স্ক্রিপ্ট প্রিন্ট করে এবং তারপরে কোন "আসল" pythonপ্রার্থনা করবে তা স্থির করে কাজ করে। এমনকি আপনি আপনার ভার্চুয়ালেনভ পাইথনগুলির একটিতে প্লাগইন কনফিগার করতে পারেন ( pyenv-virtualenvপ্লাগইন ব্যবহার করে )। পাইথন সংস্করণগুলি আপনি ইনস্টল করে pyenvএটির $(pyenv root)/versions/ডিরেক্টরিতে যান (ডিফল্টরূপে পাইয়ানভ মূলটি হ'ল py / .pyenv) সুতরাং ভার্চুয়ালেনভের চেয়ে বেশি 'গ্লোবাল' রয়েছে। সাধারণত, আপনি পাইথন সংস্করণগুলির মাধ্যমে অনুলিপি করতে পারবেন না pyenv, অন্তত এটি করা মূল ধারণা নয়।
নির্দিষ্ট পাইথন সংস্করণ সহ ভার্চুয়ালেনভ তৈরি করতে আপনার সিস্টেমে কোথাও এটির সংস্করণ থাকা উচিত (এটি চালু আছে PATHবা না) এবং মূলত এটি আপনার নতুন নির্মিত ভার্চুয়ালেনভের মধ্যে ক্লোন করা উচিত। অবশ্যই, একটি নির্দিষ্ট সংস্করণ পাওয়ার একটি উপায় হ'ল এটির মাধ্যমে ইনস্টল করাpyenv । এটি শেষ হয়ে গেলে, পৃথক ভার্চুয়ালভিনগুলি তাদের মধ্যে বিভিন্ন মডিউল (বা এর সংস্করণ) ইনস্টল করে বিচ্ছিন্ন করতে পারে।
সংক্ষেপে:
virtualenv আপনাকে বিদ্যমানগুলি থেকে ক্লোন করে স্থানীয়, স্বাধীন পাইথন ইনস্টলেশন তৈরি করতে দেয় to
pyenv আপনাকে পাইথনের বিভিন্ন সংস্করণ একযোগে ইনস্টল করতে দেয় (সিস্টেম-প্রশস্ত বা কেবল স্থানীয় ব্যবহারকারীর জন্য) এবং তারপরে যেকোন নির্দিষ্ট সময়ে অজগরগুলির মধ্যে কোনটি চলতে হবে তা বেছে নিন (ভার্চুয়ালেনভ বা অ্যানাকোন্ডা দ্বারা নির্মিত)