පවතින 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 හි වෙනම ක්‍රියාවලිය වින්‍යාස නොකරයි.

ස්ථාපනයෙන් පසු යෙදුමේ සාමාන්‍ය පරිසර ජීවන චක්‍රය දිගටම කරගෙන යන්න. දැනටමත් ධාවනය වන අන්තර්කාරකයකට ස්ථාපනය කිරීම එහි වත්මන් ආයාත, හැඹිලි හෝ මාර්ග නව පැකේජය වහාම පිළිබිඹු කරන බවට සහතික නොවේ.

අදාළ ලිපි