As in besteand provisioning-skript pip fia in proxy rinne moat, start pip dan as in subprocess. De ynterne Python-funksjes fan pip binne gjin stipe applikaasje-API.

import subprocess
import sys

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

Brûk it bedoelde pakket en it proxy-einpunt. Foar iepenbiere pakketdownloads dy't tastien binne fia in iepenbiere tuskenpersoan, leveret de HTTP-proxylist kandidaten foar it HTTP-proxy-argumint. sys.executable selektearret de Python-ynterpreteur dy't it skript útfiert, sadat it foarkomt dat de pip fan in oare ynstallaasje by ûngelok fan it PATH oproppen wurdt.

Elk argumint beset in apart listelemint. Der is gjin shell nedich, en de proxy-URL hat gjin ekstra pear ynbêde shell-sitaasjetekens nedich. check=True smyt CalledProcessError as de ynstallaasje mislearret, wêrtroch de provisioning-wurkstream dy mislearring behannelje kin.

Konfigurearje de downloadrûte by dizze pip-oprop of yn syn subprocess-omjouwing. In Requests-sesje dy't earne oars yn it âlderprogramma konfigurearre is, konfigurearret it aparte pip-proses net.

Nei de ynstallaasje ferfolgje jo de normale omjouwingslibbenssyklus fan de applikaasje. Ynstallearje yn in ynterpreteur dy't al rint garandearret net dat syn hjoeddeistige ymporten, caches of paden it nije pakket fuortendaliks wjerspegelje.

Relatearre artikelen