นอกจากโมดูลและแพ็กเกจที่สร้างไว้ในการกระจายมาตรฐานของ Python แล้ว จำนวนมากของแพ็กเกจจากนักพัฒนาคนที่สามถูกอัปโหลดไปยังที่เก็บแพ็กเกจ Python ที่เรียกว่า Python Package Index (https://pypi.org/) เพื่อติดตั้งแพ็กเกจจากที่นี่ จำเป็นต้องใช้ยูทิลิตี้ pip เครื่องมือ pip เป็นโครงการอิสระ แต่ตั้งแต่ Python 3.4 เป็นต้นมา ได้ถูกบูตสแทรป (bootstrapped) เข้าไปในการกระจาย Python แล้ว
โมดูล ensurepip ให้การสนับสนุนการบูตสแทรป pip ในการติดตั้ง Python ที่มีอยู่ ปกติผู้ใช้ไม่จำเป็นต้องใช้งานโดยตรง แต่หากการติดตั้ง pip ถูกข้ามในการติดตั้งปกติหรือสภาพแวดล้อมเสมือน (virtual environment) อาจจำเป็นต้องใช้
คำสั่งต่อไปนี้จะสร้างสภาพแวดล้อมเสมือนโดยไม่ติดตั้งยูทิลิตี้ pip:
C:\python37>python -m venv --without-pip e:\testenv
โฟลเดอร์ scripts ภายใต้ไดเรกทอรีสภาพแวดล้อมเสมือนไม่มียูทิลิตี้ pip โมดูล ensurepip ใช้เพื่อรวม pip เข้าไปโดยใช้เวอร์ชันในระบบ ระบุ '--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
การติดตั้ง pip เริ่มต้นสามารถปรับเปลี่ยนได้ด้วยตัวเลือกต่อไปนี้:
--root <dir> - ติดตั้ง pip เทียบกับไดเรกทอรีรากที่กำหนด แทนที่จะเป็นรากของสภาพแวดล้อมเสมือนที่ใช้งานอยู่ (ถ้ามี) หรือรากเริ่มต้นสำหรับการติดตั้ง Python ปัจจุบัน
--user - ติดตั้ง pip ไปยังไดเรกทอรีแพ็กเกจไซต์ของผู้ใช้ แทนที่จะเป็นแบบกลางสำหรับการติดตั้ง Python ปัจจุบัน (ตัวเลือกนี้ไม่ได้รับอนุญาตภายในสภาพแวดล้อมเสมือนที่ใช้งานอยู่)
โมดูล ensurepip ยังกำหนดฟังก์ชันต่อไปนี้:
ensurepip.version() - คืนค่าสตริงระบุเวอร์ชัน pip ที่รวมอยู่ซึ่งจะถูกติดตั้งเมื่อบูตสแทรปสภาพแวดล้อม
ensurepip.bootstrap() - บูตสแทรป pip เข้าสู่สภาพแวดล้อมปัจจุบันหรือที่กำหนด
กระบวนการบูตสแทรปมีผลข้างเคียงต่อทั้ง sys.path และ os.environ นอกจากนี้ กระบวนการบูตสแทรปอาจติดตั้งโมดูลเพิ่มเติมที่ pip ต้องการ แต่ซอฟต์แวร์อื่นไม่ควรสมมติว่าไลบรารีเหล่านั้นจะมีอยู่เสมอไปโดยค่าเริ่มต้น