Kui olemasolev tarne-skript peab pipi puhverserveri kaudu käivitama, käivitage pip subprocessina. pipi sisemised Pythoni funktsioonid ei ole toetatud rakenduse API.

import subprocess
import sys

subprocess.run([
    sys.executable,
    '-m', 'pip', 'install',
    '--proxy', 'http://proxy.example:8080',
    'example-package',
], check=True)

Kasutage ettenähtud paketti ja puhverserveri lõpp-punkti. Avaliku vahendaja kaudu lubatud avalike pakettide allalaadimisteks pakub HTTP-puhverserverite loend kandidaate HTTP-puhverserveri argumendile. sys.executable valib skripti käivitava Pythoni interpretaatori, nii et see väldib teise installatsiooni pip juhuslikku kutsumist PATH-ist.

Iga argument hõivab eraldi loendi elemendi. Kest pole vaja ja puhverserveri URL ei vaja täiendavat paarist kestasisest jutumärki. check=True tekitab CalledProcessErrori, kui paigaldamine ebaõnnestub, võimaldades tarne töövoolul seda tõrget käsitleda.

Seadistage allalaadimistee sellel pipi kutsel või selle subprocessi keskkonnas. Vanemprogrammis mujal seadistatud Requestsi sessioon ei seadista pipi eraldi protsessi.

Pärast paigaldamist jätkake rakenduse tavalist keskkonna elutsüklit. Juba töötavasse interpretaatorisse paigaldamine ei taga, et selle praegused impordid, vahemälud või teed peegeldavad uut paketti kohe.

Seotud artiklid