ສົ່ງພຣັອກຊີໄປຍັງຂະບວນການ pip ທີ່ທ່ານເປີດ
ເອີ້ນ pip ຜ່ານຕົວແປ Python ທີ່ຕັ້ງໃຈ ແລະ ສະໜອງ --proxy ເປັນອາກູເມັນ subprocess ແຍກຕ່າງຫາກ ແທນທີ່ຈະນຳເຂົ້າພາຍໃນຂອງ pip.
ເມື່ອສະຄຣິບ provisioning ທີ່ມີຢູ່ແລ້ວຕ້ອງການລັນ pip ຜ່ານພຣັອກຊີ ໃຫ້ເປີດ pip ເປັນ subprocess. ຟັງຊັນ Python ພາຍໃນຂອງ pip ບໍ່ແມ່ນ API ຂອງແອັບພລິເຄຊັນທີ່ຮອງຮັບ.
import subprocess
import sys
subprocess.run([
sys.executable,
'-m', 'pip', 'install',
'--proxy', 'http://proxy.example:8080',
'example-package',
], check=True)
ໃຊ້ແພັກເກັດ ແລະ ຈຸດສຸດທ້າຍຂອງພຣັອກຊີທີ່ຕັ້ງໃຈ. ສຳລັບການດາວໂຫຼດແພັກເກັດສາທາລະນະທີ່ອະນຸຍາດຜ່ານຕົວກາງສາທາລະນະ ລາຍຊື່ພຣັອກຊີ HTTP ສະໜອງຜູ້ສະໝັກສຳລັບອາກູເມັນພຣັອກຊີ HTTP. sys.executable ເລືອກຕົວແປ Python ທີ່ກຳລັງລັນສະຄຣິບ ດັ່ງນັ້ນຈຶ່ງຫຼີກລ້ຽງການເອີ້ນ pip ຂອງການຕິດຕັ້ງອື່ນຈາກ PATH ໂດຍບໍ່ໄດ້ຕັ້ງໃຈ.
ແຕ່ລະອາກູເມັນຢູ່ໃນອົງປະກອບລາຍຊື່ແຍກຕ່າງຫາກ. ບໍ່ຕ້ອງການ shell ແລະ URL ຂອງພຣັອກຊີບໍ່ຕ້ອງການເຄື່ອງໝາຍຄຳເວົ້າ shell ຝັງຕົວເພີ່ມເຕີມ. check=True ຈະຍົກ CalledProcessError ຖ້າການຕິດຕັ້ງລົ້ມເຫຼວ ເຊິ່ງຊ່ວຍໃຫ້ຂະບວນການ provisioning ຈັດການຄວາມລົ້ມເຫຼວນັ້ນ.
ຕັ້ງຄ່າເສັ້ນທາງດາວໂຫຼດໃນການເອີ້ນ pip ນີ້ ຫຼື ໃນສະພາບແວດລ້ອມ subprocess ຂອງມັນ. ເຊສຊັນ Requests ທີ່ຕັ້ງຄ່າຢູ່ບ່ອນອື່ນໃນໂປຣແກຣມຫຼັກບໍ່ໄດ້ຕັ້ງຄ່າຂະບວນການ pip ແຍກຕ່າງຫາກ.
ຫຼັງຈາກຕິດຕັ້ງແລ້ວ ໃຫ້ສືບຕໍ່ວົງຈອນຊີວິດສະພາບແວດລ້ອມປົກກະຕິຂອງແອັບພລິເຄຊັນ. ການຕິດຕັ້ງໃນຕົວແປທີ່ກຳລັງລັນຢູ່ແລ້ວບໍ່ຮັບປະກັນວ່າການນຳເຂົ້າ ແຄຊ ຫຼື ເສັ້ນທາງປັດຈຸບັນຂອງມັນຈະສະທ້ອນແພັກເກັດໃໝ່ທັນທີ.