ເມື່ອສະຄຣິບ 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 ແຍກຕ່າງຫາກ.

ຫຼັງຈາກຕິດຕັ້ງແລ້ວ ໃຫ້ສືບຕໍ່ວົງຈອນຊີວິດສະພາບແວດລ້ອມປົກກະຕິຂອງແອັບພລິເຄຊັນ. ການຕິດຕັ້ງໃນຕົວແປທີ່ກຳລັງລັນຢູ່ແລ້ວບໍ່ຮັບປະກັນວ່າການນຳເຂົ້າ ແຄຊ ຫຼື ເສັ້ນທາງປັດຈຸບັນຂອງມັນຈະສະທ້ອນແພັກເກັດໃໝ່ທັນທີ.

ບົດຄວາມທີ່ກ່ຽວຂ້ອງ