විවිධ අසාර්ථකකම් දෙකක් එකම pip ට්‍රේස්බැක් මුද්‍රණය කරන අතර, එකකට ගැලපෙන අලුත්වැඩියාව අනෙක වඩාත් නරක අතට හරවයි. උමං මාර්ගයෙන් යන සත්කාරකය නම් කිරීමට ඉතා පැරණි සේවාලාභියාට උත්ශ්‍රේණි කිරීමක් අවශ්‍ය වේ. ගමනාගමනය ප්‍රති-අත්සන් කරන ප්‍රොක්සියකට විශ්වාසනීය මූල සහතිකයක් අවශ්‍ය වේ, අනුවාදය පහත හෙළීමක් නොවේ. ප්‍රොක්සි විචල්‍යය සංස්කරණය කිරීමට පෙර මෙම දෙකෙන් කුමක් ඔබට ඇත්දැයි තීරණය කරන්න, මන්ද මාර්ග විරුද්ධ දිශාවලට යයි.

සැකසුම් ස්පර්ශ කිරීමට පෙර අවසාන රාමු කියවන්න

ට්‍රේස්බැක් අවසන් වන තැන අප විසින් කුමන ස්ථරය අත්හැර දැමුවාදැයි කියයි. අවසාන රාමු pip සමඟ පැමිණෙන urllib3 TLS කේතය තුළ තිබේ නම් සහ පෙළ සත්කාරක නාමය ගැන පැමිණිලි කරයි නම්, සේවාලාභී පුස්තකාලයට සත්‍යාපන පියවරක් අවසන් කළ නොහැකි විය, සහ එය සහතික ගැටලුවකට වඩා බොහෝ විට අනුවාද ගැටලුවකි. පෙළ ඒ වෙනුවට ප්‍රතික්ෂේපිත සම්බන්ධතාවයක්, නොවිසඳුනු ප්‍රොක්සි නාමයක් හෝ HTTP 407 දෝෂයක් වාර්තා කරයි නම්, උමං මාර්ගයේ අවසාන ලක්ෂ්‍යය වැරදිකරු වන අතර කිසිදු උත්ශ්‍රේණි කිරීමක් එය වෙනස් නොකරයි.

අසාර්ථක වන එම ෂෙලයේම pip අනුවාදය සහ ප්‍රොක්සි විචල්‍ය ග්‍රහණය කරන්න. උමං මාර්ගය ඉහළ යාමට පෙර විවෘත කළ ෂෙලය පසුව විවෘත කළ එකට වඩා වෙනස් අගයන් දරයි, සහ ඒවා අතර වෙනස බොහෝ විට මුළු රෝග නිර්ණයයි.

python3 -m pip --version
env | grep -i -E 'proxy|no_proxy'

සේවාලාභියා උමං මාර්ගයට වඩා පැරණි වන විට

පැරණි pip නිකුතු සොකට් එක උමං මාර්ගයකින් ඔතා ගත් පසු ගමනාන්ත සත්කාරක නාමය අහිමි වන HTTPS ගොඩගැස්මක් ඇතුළත් කළේය. check_hostname පණිවිඩය යනු සංසන්දනයට නමක් නොමැතිව සත්‍යාපනයට පැමිණෙන විට එම ගොඩගැස්ම විමෝචනය කරන දෙයයි. උත්ශ්‍රේණි කිරීම දෝෂය ඉවත් කරයි, මන්ද නව සේවාලාභියා අතට අත දීම පුරා නාමය රඳවා ගනියි, සහ අවසාන රාමු සමඟ පැමිණෙන TLS කේතයට යොමු කරන විට පළමුව උත්සාහ කිරීමට තරම් මෙම වෙනස ලාභදායී වේ.

අසාර්ථක වන යන්ත්‍රයෙන් සුචියට ළඟා විය නොහැකි නම්, හැකි සත්කාරකයක වත්මන් wheel එකක් ලබාගෙන ගොනුවෙන් ස්ථාපනය කරන්න. බ්ලොග් පළ කිරීමකින් පිටපත් කළ අනුවාදයක් නොව, ඔබ සැබවින්ම බාගත කළ ගොනු නාමය භාවිත කරන්න.

python3 -m pip install --upgrade pip
python3 -m pip install ./pip-24.2-py3-none-any.whl

ප්‍රොක්සිය ගමනාගමනය ප්‍රති-අත්සන් කරන විට

TLS අවසන් කර ආයතනික මූලයක් යටතේ සහතික නැවත නිකුත් කරන ප්‍රොක්සියක් වෙනස් දෝෂයක් නිපදවයි: certificate verify failed, සත්කාරක නාම පැමිණිල්ලක් නොවේ. එම වෙනසම සලකුණයි, මන්ද සේවාලාභියා සේවාදායකයකට ළඟා වී පසුව තමාට පෙන්වූ අනන්‍යතාවය ප්‍රතික්ෂේප කළේය. අලුත්වැඩියාව යනු එම මූලයට පැහැදිලිව විශ්වාස කිරීමයි, එක් විධානයකට හෝ PIP_CERT විචල්‍යය හරහා, එවිට සේවාලාභියාට ප්‍රොක්සිය ඉදිරිපත් කරන දෙයට දාමයක් ගොඩනැගිය හැක. මූලය පද්ධති විශ්වාස ගබඩාවට එකතු කිරීම ද ක්‍රියා කරයි, නමුත් එය යන්ත්‍රයේ සෑම වැඩසටහනකම විශ්වාසය වෙනස් කරයි, සහ එය එක් පැකේජ ස්ථාපනයක් අලුත්වැඩියා කිරීමට වඩා විශාල තීරණයකි.

--trusted-host රෝග නිර්ණයක් ලෙස තබා ගන්න, කිසි විටෙක ස්ථිර තත්වයක් ලෙස නොව. එය ඔබ තබා ගැනීමට උත්සාහ කළ පරීක්ෂාව ක්‍රියා විරහිත කරයි, එබැවින් සැබවින්ම වැරදි සහතිකයක් පසුව සෞඛ්‍ය සම්පන්න ලෙස පෙනේ. එය එක් පැකේජයක් ස්ථාපනය කිරීමට භාවිත කළේ නම්, එය ඉවත් කර ඊළඟ නිකුතුවට පෙර දාමය අලුත්වැඩියා කරන්න.

ඔබේම Python කේතය pip සැකසුම සම්පූර්ණයෙන් නොසලකා හරියි. requests ඇමතුමකට ප්‍රොක්සිය සහ කට්ටලය එම සැසියට ඒවා දැකිය හැකි තැනට යැවිය යුතුය, එබැවින් පහත කොටස දෙකම සැසි වස්තුව මත සකසයි.

pip install --cert /usr/local/share/ca-certificates/corp-root.crt requests
export PIP_CERT=/usr/local/share/ca-certificates/corp-root.crt
s = requests.Session()
s.proxies = {"https": "http://10.20.30.40:8080"}
s.verify = "/usr/local/share/ca-certificates/corp-root.crt"
s.get("https://pypi.org/simple/", timeout=15)

අවසාන ලක්ෂ්‍යය හෝ තොටුපළ වැරදි විට

උමං මාර්ග සේවාලාභියා සම්බන්ධ වන විට පද්ධති ප්‍රොක්සිය බොහෝ විට නැවත ලියයි, එය pip සෑම විටම එම තොටුපළේ පිළිතුරු නොදෙන සත්කාරකයක් වෙත යොමු කර තැබිය හැක. ඕනෑම pip සැකසුමක් වෙනස් කිරීමට පෙර pip නොවන සේවාලාභියෙකින් අවසාන ලක්ෂ්‍යය පරීක්ෂා කරන්න. එම ප්‍රොක්සි තර්කය සමඟ curl අසාර්ථක වේ නම්, දෝෂය pip ට ඉහළින් පවතින අතර pip තුළ කිසිදු සැකසුමක් උදව් නොකරයි.

විධාන ධජය සහ පරිසර විචල්‍ය විවිධ විෂය පථයන්ට එකම දෙය කියයි: ධජය එක් ඇමතුමකට, විචල්‍ය පසුව ආරම්භ වන සෑම ක්‍රියාවලියකටම අදාළ වේ. අභ්‍යන්තර සුචියක් සඳහා NO_PROXY එකතු කරන්න, පෞද්ගලික පැකේජ ගමනාගමනය උමං මාර්ගය හරහා යන වක්‍ර මාර්ගය මඟ හරින්නට.

curl -x http://proxy.corp.internal:8080 --head https://pypi.org/simple/
pip install --proxy http://proxy.corp.internal:8080 requests

සැකසුම ස්ථිර කර මාර්ගය ක්‍රියා කරන බව ඔප්පු කරන්න

වත්මන් ෂෙලයට වඩා කල් තබා ගැනීමට අවශ්‍ය විට pip හිම සැකසුමේ ප්‍රොක්සිය ගබඩා කරන්න, පසුව pip සැබවින්ම භාවිත කරන දේ කියවන්න. debug ප්‍රතිදානය සෑම අගයකම පිටුපස ඇති ගොනුව සහ විචල්‍යය නම් කරයි, එය ප්‍රමුඛතාව පිළිබඳ තර්ක ලේඛන කියවීමට වඩා ඉක්මනින් විසඳයි.

සත්‍යාපනය චේතනාන්විතව සේවාලාභීන් දෙකක් භාවිත කරයි. සම්මත පුස්තකාල ඉල්ලීම මාර්ගය සහ විශ්වාස දාමය ඔප්පු කරයි, බාගැනීම pip හිම සැකසුම ඒවා සමඟ එකඟ බව ඔප්පු කරයි. පළමුවැන්න සාර්ථක වී දෙවැන්න අසාර්ථක වන විට, වෙනස ජාලයේ නොව pip තුළ පවතී.

pip config set global.proxy http://proxy.corp.internal:8080
pip config debug
python3 -c "import urllib.request as r; print(r.urlopen('https://pypi.org/simple/').status)"
pip download --no-deps -d /tmp/wheelcheck requests
What you seeFirst commandRepair
hostname message inside vendored TLS framespython3 -m pip --versionupgrade the client
certificate verify failed after the tunnelcurl -x http://proxy.corp.internal:8080 --head https://pypi.org/simple/trust the corporate root
connection refused or HTTP 407env | grep -i -E 'proxy|no_proxy'correct host, port or credentials

අදාළ ලිපි