পাইথনের স্ট্যান্ডার্ড ডিস্ট্রিবিউশনে বিল্ট-ইন মডিউল এবং প্যাকেজের পাশাপাশি, তৃতীয় পক্ষের ডেভেলপাররা পাইথন প্যাকেজ রিপোজিটরি যাকে Python Package Index (https://pypi.org/) বলা হয়, তেখানে প্রচুর প্যাকেজ আপলোড করে। এখান থেকে প্যাকেজ ইনস্টল করতে pip ইউটিলিটি প্রয়োজন। pip টুল একটি স্বতন্ত্র প্রজেক্ট, কিন্তু পাইথন ৩.৪ থেকে এটি পাইথন ডিস্ট্রিবিউশনে বুটস্ট্র্যাপ করা হয়েছে।
ensurepip মডিউল পাইথনের বিদ্যমান ইনস্টলেশনে পিপ বুটস্ট্র্যাপ করার জন্য সাপোর্ট প্রদান করে। সাধারণত ব্যবহারকারীরা এটিকে স্পষ্টভাবে ব্যবহার করতে হয় না। যদি 어찌soever পিপের ইনস্টলেশন স্বাভাবিক ইনস্টলেশন বা ভার্চুয়াল এনভায়রনমেন্টে বাদ পড়ে যায়, তবে এটি প্রয়োজন হতে পারে।
নিচের কমান্ড পিপ ইউটিলিটি ইনস্টল না করে একটি ভার্চুয়াল এনভায়রনমেন্ট তৈরি করবে:
C:\python37>python -m venv --without-pip e:\testenv
ভার্চুয়াল এনভায়রনমেন্ট ডিরেক্টরির অধীনে scripts ফোল্ডারে পিপ ইউটিলিটি থাকে না। ensurepip মডিউল এখন সিস্টেম-ওয়াইড ইনস্টলেশনের সংস্করণ ব্যবহার করে এটিতে পিপ অন্তর্ভুক্ত করতে ব্যবহৃত হয়। সর্বশেষ সংস্করণের জন্য '--upgrade' স্পেসিফাই করুন:
E:\testenv>scripts\python -m ensurepip --upgrade Looking in links: C:\Users\acer\AppData\Local\Temp\tmpp1bb2lym Collecting setuptools Collecting pip Installing collected packages: setuptools, pip Successfully installed pip-18.1 setuptools-40.6.2
ডিফল্ট ইনস্টলেশন মডিফিকেশন
পিপের ডিফল্ট ইনস্টলেশন নিচের অপশনগুলো ব্যবহার করে মডিফাই করা যায়:
--root <dir> − বর্তমানে সক্রিয় ভার্চুয়াল এনভায়রনমেন্টের রুট (যদি থাকে) বা বর্তমান পাইথন ইনস্টলেশনের ডিফল্ট রুটের পরিবর্তে প্রদত্ত রুট ডিরেক্টরির সাপেক্ষে পিপ ইনস্টল করে।
--user − বর্তমান পাইথন ইনস্টলেশনের জন্য গ্লোবালি না করে ইউজার সাইট প্যাকেজ ডিরেক্টরিতে পিপ ইনস্টল করে (এই অপশন একটি সক্রিয় ভার্চুয়াল এনভায়রনমেন্টের ভিতরে অনুমোদিত নয়)।
ensurepip মডিউলের ফাংশন
ensurepip মডিউল নিচের ফাংশনগুলিও সংজ্ঞায়িত করে:
ensurepip.version() − বুটস্ট্র্যাপিং এনভায়রনমেন্টের সময় ইনস্টলされる বান্ডল্ড পিপ সংস্করণ নির্দিষ্টকারী একটি স্ট্রিং রিটার্ন করে।
ensurepip.bootstrap() − বর্তমান বা নির্দিষ্ট এনভায়রনমেন্টে পিপ বুটস্ট্র্যাপ করে।
বুটস্ট্র্যাপিং প্রসেসের sys.path এবং os.environ-এ সাইড ইফেক্ট থাকে। এছাড়া, বুটস্ট্র্যাপিং প্রসেস পিপের জন্য প্রয়োজনীয় অতিরিক্ত মডিউল ইনস্টল করতে পারে, তবে অন্যান্য সফ্টওয়্যারের কখনোই সেই ডিপেন্ডেন্সি ডিফল্টভাবে উপস্থিত থাকবে বলে ধরে নেওয়া উচিত নয়।