Η υποστήριξη SOCKS του pip απαιτεί να είναι διαθέσιμη η προαιρετική εξάρτηση SOCKS στον διερμηνέα Python που εκτελεί το pip. Αν αυτός ο διερμηνέας μπορεί να φτάσει στο ευρετήριο πακέτων μόνο μέσω SOCKS, φέρτε πρώτα την εξάρτηση σε άλλο συνδεδεμένο μηχάνημα.

Στο συνδεδεμένο μηχάνημα ετοιμάστε έναν μικρό κατάλογο wheel:

python -m pip download --only-binary=:all: --dest wheelhouse PySocks

Μεταφέρετε αυτόν τον κατάλογο στο μηχάνημα προορισμού και μετά χρησιμοποιήστε τον προβλεπόμενο διερμηνέα του για την τοπική εγκατάσταση:

python -m pip install --no-index --find-links wheelhouse PySocks

Το --no-index κρατά αυτό το βήμα προετοιμασίας στα παρεχόμενα αρχεία. Δεν επιχειρεί να λύσει το αρχικό πρόβλημα συνδεσιμότητας κάνοντας άλλο αίτημα στο ευρετήριο.

Μόλις η εξάρτηση είναι διαθέσιμη, η διαδρομή SOCKS μπορεί να επιλεγεί για την πραγματική εργασία πακέτου:

python -m pip install --proxy socks5h://proxy.example.net:1080 package_name

Για επιτρεπόμενες δημόσιες λήψεις πακέτων χωρίς έλεγχο ταυτότητας διακομιστή μεσολάβησης, αντικαταστήστε το τελικό σημείο με υποψήφιο από τη λίστα διακομιστών μεσολάβησης SOCKS5 και επιλέξτε το επιθυμητό πακέτο. Η γραφή socks5h ζητά ανάλυση του ονόματος προορισμού μέσω του διακομιστή μεσολάβησης· το socks5 επιλέγει τοπική ανάλυση προορισμού σε αυτή τη διαδρομή πελάτη.

Κρατήστε την εγκατάσταση προετοιμασίας και την εργασία πακέτου στον ίδιο διερμηνέα και περιβάλλον. Η εγκατάσταση του PySocks σε άλλο Python αφήνει τα imports του pip προορισμού αμετάβλητα. Ο χρήσιμος έλεγχος είναι ποια εντολή python -m pip εκτελεί την εργασία, όχι αν κάποιο άλλο τερματικό αναφέρει ότι το PySocks είναι εγκατεστημένο.

Σχετικά άρθρα