پروكسىنى ئىجرا قىلغان pip جەريانىغا يەتكۈزۈڭ
pip نى مەقسەت قىلغان Python تەرجىمانى ئارقىلىق چاقىرىڭ ۋە --proxy نى pip نىڭ ئىچكى قىسمىنى ئىمپورت قىلىشنىڭ ئورنىغا ئايرىم subprocess ئارگۇمېنتى قىلىپ بېرىڭ.
مەۋجۇت provisioning قوليازمىسى pip نى پروكسى ئارقىلىق ئىجرا قىلىشقا ئېھتىياجلىق بولغاندا، pip نى subprocess قىلىپ باشلاڭ. pip نىڭ ئىچكى Python فۇنكسىيەلىرى قوللىنىلىدىغان ئەپلىكېتسىيە 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 تەرجىمانىنى تاللايدۇ، شۇڭا PATH دىن باشقا ئورنىتىشنىڭ pip نى خاتالىق بىلەن چاقىرىشتىن ساقلىنىدۇ.
ھەر بىر ئارگۇمېنت ئايرىم تىزىملىك ئېلېمېنتىنى ئىگىلەيدۇ. shell زۆرۈر ئەمەس، پروكسى URL ى قوشۇمچە جۈپ ئىچىگە ئورۇنلاشتۇرۇلغان shell نەقىل بەلگىسىگە ئېھتىياجلىق ئەمەس. ئورنىتىش مەغلۇپ بولسا check=True CalledProcessError نى كۆتۈرىدۇ، بۇ provisioning خىزمەت ئېقىمىغا بۇ مەغلۇبىيەتنى بىر تەرەپ قىلىش ئىمكانىيىتىنى بېرىدۇ.
چۈشۈرۈش يولىنى بۇ pip چاقىرىقىدا ياكى ئۇنىڭ subprocess مۇھىتىدا سەپلەڭ. ئاساسىي پروگراممىنىڭ باشقا يېرىدە سەپلەنگەن Requests سېسسىيىسى pip نىڭ ئايرىم جەريانىنى سەپلىمەيدۇ.
ئورنىتىشتىن كېيىن ئەپلىكېتسىيەنىڭ نورمال مۇھىت ھايات دەۋرىنى داۋاملاشتۇرۇڭ. ئاللىبۇرۇن ئىجرا بولۇۋاتقان تەرجىمانغا ئورنىتىش ئۇنىڭ ھازىرقى ئىمپورتلىرى، كېشلىرى ياكى يوللىرىنىڭ يېڭى بولاقنى دەرھال ئەكس ئەتتۈرۈشىگە كاپالەتلىك قىلمايدۇ.