ያለ ፕሮቪዥኒንግ ስክሪፕት 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 ኢንተርፕሪተር ይመርጣል፣ ስለዚህ የሌላ ጭነት pip በአጋጣሚ ከ PATH እንዳይጠራ ያስወግዳል።

እያንዳንዱ አርጉመንት የተለየ የዝርዝር አካል ይይዛል። ሼል አያስፈልግም፣ የፕሮክሲ ዩአርኤልም ተጨማሪ የተካተተ የሼል ጥቅስ አያስፈልገውም። check=True ጭነቱ ካልተሳካ CalledProcessError ያስነሳል፣ ይህም የፕሮቪዥኒንግ የስራ ፍሰት ያንን ውድቀት እንዲያስተናግድ ያስችለዋል።

የማውረድ መንገዱን በዚህ የ pip ጥሪ ወይም በ subprocess አካባቢው ላይ ያዋቅሩ። በወላጅ ፕሮግራሙ ውስጥ በሌላ ቦታ የተዋቀረ የ Requests ክፍለ ጊዜ የ pip የተለየ ሂደትን አያዋቅርም።

ከተጫነ በኋላ የመተግበሪያውን የተለመደ የአካባቢ ዑደት ይቀጥሉ። አስቀድሞ በሚሰራ ኢንተርፕሪተር ውስጥ መጫን የአሁኑ ግቤቶቹ፣ መሸጎጫዎቹ ወይም መንገዶቹ አዲሱን ጥቅል ወዲያውኑ የሚያንጸባርቁ መሆኑን አያረጋግጥም።

ተዛማጅ ጽሑፎች