Pan fydd sgript darparu bresennol angen rhedeg pip drwy ddirprwy, lansiwch pip fel subprocess. Nid yw swyddogaethau Python mewnol pip yn API cymhwysiad a gefnogir.

import subprocess
import sys

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

Defnyddiwch y pecyn a'r pwynt diwedd dirprwy a fwriedir. Ar gyfer lawrlwythiadau pecynnau cyhoeddus a ganiateir drwy gyfryngwr cyhoeddus, mae rhestr dirprwyon HTTP yn darparu ymgeiswyr ar gyfer y ddadl dirprwy HTTP. Mae sys.executable yn dewis y dehonglydd Python sy'n rhedeg y sgript, felly mae hyn yn osgoi galw pip gosodiad arall o PATH ar ddamwain.

Mae pob dadl yn meddiannu elfen rhestr ar wahân. Nid oes angen plisgyn, ac nid oes angen pâr ychwanegol o ddyfyniadau plisgyn mewnosodedig ar URL y dirprwy. Mae check=True yn codi CalledProcessError os yw'r gosodiad yn methu, gan ganiatáu i'r llif gwaith darparu drin y methiant hwnnw.

Ffurfweddwch y llwybr lawrlwytho ar y galwad pip hon neu yn amgylchedd ei subprocess. Nid yw sesiwn Requests a ffurfweddir yn rhywle arall yn y rhaglen riant yn ffurfweddu proses ar wahân pip.

Ar ôl gosod, parhewch gylch bywyd arferol amgylchedd y cymhwysiad. Nid yw gosod mewn dehonglydd sydd eisoes yn rhedeg yn gwarantu bod ei fewnforion, ei gacheau neu ei lwybrau presennol yn adlewyrchu'r pecyn newydd ar unwaith.

Erthyglau cysylltiedig