Próbuję użyć pip za serwerem proxy w pracy.
Jedna z odpowiedzi z tego postu sugerowała użycie CNTLM . Zainstalowałem i skonfigurowałem go dla tego innego posta , ale działamcntlm.exe -c cntlm.ini -I -M http://google.com
spowodowało błąd Connection to proxy failed, bailing out
.
Próbowałem też pip install -–proxy=user:pass@localhost:3128
(domyślny port CNTLM), ale to podniosłemCannot fetch index base URL http://pypi.python.org/simple/
. Najwyraźniej coś jest nie tak z proxy.
Czy ktoś wie, jak bardziej ostatecznie sprawdzić, czy CNTLM jest poprawnie skonfigurowany, czy też istnieje inny sposób na obejście tego problemu? Wiem, że możesz również ustawić http_proxy
zmienną środowiskową zgodnie z opisem tutaj, ale nie jestem pewien, jakie poświadczenia wprowadzić. Te z cntlm.ini
?
Odpowiedzi:
Aby skonfigurować CNTLM dla systemu Windows, postępuj zgodnie z tym artykułem . W przypadku Ubuntu przeczytaj mój post na blogu .
Edytować:
Zasadniczo, aby używać CNTLM na dowolnej platformie, musisz skonfigurować swoją nazwę użytkownika i zaszyfrowane hasło, zanim użyjesz go
http://127.0.0.1:3128
jako proxy dla nadrzędnego proxy.Edytuj konfigurację i dodaj ważne informacje, takie jak domena, nazwa użytkownika, hasło i nadrzędny serwer proxy.
Wygeneruj zaszyfrowane hasło.
Windows
cntlm –c cntlm.ini –H
Ubuntu / Linux
cntlm -v -H -c /etc/cntlm.conf
Usuń zwykłe hasło tekstowe z konfiguracji i zastąp je wygenerowanymi hasłami.
Aby sprawdzić, czy działa:
Windows
cntlm –M http://www.google.com
Ubuntu / Linux
sudo cntlm -M http://www.google.com/
Aby uzyskać bardziej szczegółowe instrukcje, patrz linki powyżej.
Aktualizacja:
Dla kompletności byłem w stanie ostatnio skonfigurować i używać CNTLM w systemie Windows. Wystąpił problem podczas synchronizacji Kindle na PC z powodu naszego serwera proxy, a instalacja i konfiguracja CNTLM dla Windows rozwiązała ten problem. Więcej informacji można znaleźć w moim artykule .
źródło
--trusted-host pypi.python.org
która załatwiła sprawę .W systemie Ubuntu nie mogłem uzyskać opcji proxy działającej zgodnie z reklamą, więc następujące polecenie nie działało:
Ale eksportowanie
https_proxy
zmiennej środowiskowej (zauważ, żehttps_proxy
nie jesthttp_proxy
) rozwiązało problem:następnie
źródło
-E
wsudo
poleceniu, które stale mnie rzuca, gdy zastanawiam się, dlaczego programy nie widzą mojej ENV.W systemie Windows nie zapomnij ustawić
co musiałem ustawić
źródło
SET HTTPS_PROXY=username:password@<proxyHost>:<proxyPort>
i to nie działało.SET HTTPS_PROXY = https://512893:Pass%[email protected]:6050
dla nazwy użytkownika512893
i hasłapass#h98
. Pamiętaj, aby URL zakodować znaki specjalne w haśle lub nazwie użytkownika (#
w tym przypadku). Może także spróbuj ustawićHTTP_PROXY
flagę.To nie działało dla mnie. Musiałem używać https w pracy:
Aby zaktualizować, dodaj -U.
źródło
pip install somepackage --proxy https://user:password@mydomain:port
user
umieścić, być może dlatego, że nie ma nic do dodania:pip install --proxy=https://mydomain:port somepackage
Możesz nadal używać pip przez HTTPS, dodając certyfikat główny korporacji do pliku cacert.pem w folderze site-packages / pip. Następnie skonfiguruj pip, aby używał serwera proxy, dodając następujące wiersze do ~ / pip / pip.conf (lub ~ \ pip \ pip.ini, jeśli korzystasz z systemu Windows):
Otóż to. Nie musisz używać pakietów innych firm ani rezygnować z HTTPS (oczywiście administrator sieci nadal może zobaczyć, co robisz).
źródło
~/.pip/pip.conf
wtedyexport PIP_CONFIG_FILE=/root/.pip/pip.conf
i moja instalacja pracowała! Dzięki![Python37]\Lib\site-packages\pip\_vendor\certifi\cacert.pem
. Wyeksportuj certyfikat przechwytywania SSL swojego korporacji w formacie Base64 .cer, wklej klucz publiczny do tego pliku i voilà, pełne wsparcie https za korporacyjnym proxy.AppData/Roaming/pip/pip.ini
dla Windowsa; ustaw serwer proxy w wierszu polecenia jako
set HTTP_PROXY=domain\username:password@myproxy:myproxyport
przykład:
set http_proxy=IND\namit.kewat:[email protected]:8880
źródło
Działa to dla mnie (w systemie Windows za pośrednictwem CMD):
źródło
To nad tym działało dla mnie
źródło
pip --proxy http://username:password@proxy-host:proxy-port install <package>
Zgodnie z naszą polityką bezpieczeństwa nie mogę używać https z pypi, inspekcja SSL przepisuje certyfikaty, narusza to wbudowane zabezpieczenia pip dla www.python.org. Mężczyzna pośrodku to administrator sieci.
Więc muszę użyć zwykłego http . Aby to zrobić, muszę zastąpić systemowe proxy, a także domyślne pypi:
źródło
Security
ma cztery sylaby. Za dużo dla Trumpa.Otwórz wiersz polecenia systemu Windows.
Ustaw zmienne środowiskowe proxy.
Zainstaluj pakiety Python za pomocą proxy w tym samym wierszu polecenia systemu Windows.
źródło
W systemie Windows 7:
to znaczy:
źródło
Telefon jako mobilny punkt dostępu / tethering przez USB
Jeśli mam duże problemy ze znalezieniem sposobu przez korporacyjny serwer proxy, łączę się z Internetem przez telefon (bezprzewodowy hotspot, jeśli mam Wi-Fi, tethering USB, jeśli nie) i robię szybkie
pip install
.Może nie działać dla wszystkich konfiguracji, ale powinien skłonić większość ludzi do szczypania.
źródło
W Ubuntu 14.04 LTS
Twoje zdrowie
źródło
Miałem ten sam problem: za korporacyjnym proxy z autoryzacją w pracy nie mogłem mieć pracy pip, jak również Sublime Text 2 (cóż, działało z niestandardową konfiguracją moich ustawień proxy). W przypadku pipa (i spróbuję tego na git) rozwiązałem go instalując proxy cntlm. Konfiguracja była bardzo prosta:
server:port
Aby sprawdzić, czy to działa, po prostu uruchom nowe narzędzie wiersza polecenia i spróbuj:
To działało dla mnie. Mam nadzieję, że to ci pomoże.
źródło
Mogłem to osiągnąć, uruchamiając:
Używam Python 3.7.3 wewnątrz korporacyjnego proxy.
źródło
Skonfiguruj zmienną środowiskową w Zaawansowanych ustawieniach systemu. W wierszu polecenia powinno to wyglądać następująco:
Później po prostu
pip install whatEver
powinno działać.źródło
jeśli chcesz zaktualizować pip przez proxy, możesz użyć (na przykład w systemie Windows):
źródło
Dla użytkowników systemu Windows: jeśli chcesz zainstalować Flask-MongoAlchemy, użyj następującego kodu
źródło
Jeśli łączysz się z Internetem za pośrednictwem serwera proxy, może wystąpić problem z uruchomieniem niektórych poleceń.
Ustaw zmienne środowiskowe dla konfiguracji proxy w wierszu polecenia w następujący sposób:
źródło
W CentOS (właściwie myślę, że wszystkie dystrybucje linuksowe są podobne) działa
i
sprawdź, jakie są dane wyjściowe tych poleceń (powinny one zawierać adresy serwera proxy).
Jeśli dane wyjściowe są puste lub mają nieprawidłowe wartości, zmodyfikuj je, na przykład:
Teraz spróbuj pobrać i zainstalować niektóre pakiety za pomocą pip:
i tak naprawdę nigdy nie spotkałem się ze sprawą, która nie działała. W niektórych systemach musisz być rootem (sudo to za mało).
źródło
Ostrzeżenie: w poleceniu „pip search” jest coś bardzo złego. Polecenie wyszukiwania nie korzysta z ustawienia proxy, niezależnie od sposobu jego przekazywania.
Próbowałem rozwiązać problem tylko podczas próby polecenia „szukaj” i znalazłem ten post ze szczegółowym wyjaśnieniem tego błędu: https://github.com/pypa/pip/issues/1104
Mogę potwierdzić, że błąd pozostaje w Pip 1.5.6 na Debianie 8 z Pythonem 2.7.9. Polecenie „pip install” działa jak urok.
źródło
Dostałem błąd:
(Port serwera proxy to port ssh przekierowany na
localhost:3128
).Musiałem ustawić serwery proxy HTTP i https, aby działały:
ponieważ
http://pypi.python.org/simple/
przekierowuje do,https://pypi.python.org/simple
alepip
błąd nie mówi.źródło
Nie jestem też w tym ekspertem, ale sprawiłem, że działało, ustawiając
all_proxy
zmienną w pliku ~ / .bashrc. Aby otworzyć~/.bashrc
plik i edytować go z terminala, uruchom następujące polecenia:Dodaj następujące na końcu pliku,
Następnie albo otwórz nowy terminal, albo biegnij w tym samym terminalu,
Samo ustawienie
http_proxy
ihttps_proxy
zmienne nie wystarczą do prostego użyciapip install somepackage
. Chociaż jakośsudo -E pip install somepackage
działa, ale dało mi to pewien problem w przypadku, gdy korzystam z lokalnej instalacji Anacondy w folderze moich użytkowników.PS - używam Ubuntu 16.04.
źródło
A może po prostu zrobić to lokalnie? Najprawdopodobniej możesz pobrać ze źródła https za pośrednictwem przeglądarki
Wyodrębnij go i przejdź do wyodrębnionego katalogu, w którym znajduje się setup.py, i wywołaj:
źródło
Oto, co działa dla mnie:
źródło
Ustaw następującą zmienną środowiskową:
export PIP_PROXY=http://web-proxy.mydomain.com
źródło
Jeśli używasz Linuksa, jako root:
Gdy używasz env, eksportuje zmienną https_proxy do bieżącego wykonania polecenia pip install.
$ web_proxy_ip to nazwa hosta lub adres IP serwera proxy $ web_proxy_ip to port
źródło
Rozwiązałem problem z PIP w systemie Windows za pomocą „Fiddler” ( https://www.telerik.com/download/fiddler ). Po pobraniu i zainstalowaniu wykonaj następujące czynności:
„Reguły” => kliknij „Automatycznie uwierzytelnij”
Przykład: pip install virtualenv -proxy 127.0.0.1:8888
Wystarczy otworzyć monit i użyć.
https://github.com/pypa/pip/issues/1182 Wyszukaj „voltagex” (skomentowano 22 maja 2015)
źródło
dla Windows przejdź do C: /ProgramData/pip/pip.ini i ustaw
[światowy]
proxy = http: // YouKnowTheRest
z danymi twojego proxy. To trwale konfiguruje proxy dla pip.
źródło
Prostszym podejściem może być:
$HOME
katalogu.Skopiuj i wklej następujące wiersze pod pip.ini / pip.conf:
źródło