Programing

CNTLM과 함께 프록시 뒤에서 pip 사용

lottogame 2020. 3. 27. 08:00
반응형

CNTLM과 함께 프록시 뒤에서 pip 사용


직장에서 프록시 뒤에 pip를 사용하려고합니다.

이 게시물 의 답변 중 하나는 CNTLM 사용을 제안 했습니다 . 이 다른 게시물에 따라 설치하고 구성 했지만 실행 cntlm.exe -c cntlm.ini -I -M http://google.com하면 오류가 발생했습니다 Connection to proxy failed, bailing out.

나는 또한 pip install -–proxy=user:pass@localhost:3128(기본 CNTLM 포트)를 시도 했지만 상승했다 Cannot fetch index base URL http://pypi.python.org/simple/. 프록시에 문제가있는 것 같습니다.

누구나 CNTLM이 올바르게 설정되었는지 또는 다른 방법이 있는지 확인하는 방법을 알고 있습니까? 난 당신이 또한 설정할 수 있습니다 알고 http_proxy설명 된대로 환경 변수를 여기 하지만 난 어떤 자격 증명에 넣어. 것들을에서 확실하지 않다 cntlm.ini?


Windows 용 CNTLM을 설정하려면이 기사를 따르십시오 . 우분투의 경우 내 블로그 게시물을 읽으십시오 .

편집하다:

기본적으로 모든 플랫폼에서 CNTLM을 사용하려면 상위 프록시에 대한 프록시로 사용하기 전에 사용자 이름 및 해시 비밀번호 를 설정해야합니다 http://127.0.0.1:3128.

  1. 구성을 편집하고 도메인, 사용자 이름, 비밀번호 및 상위 프록시와 같은 중요한 정보를 추가하십시오.

  2. 해시 된 비밀번호를 생성하십시오.

    윈도우 cntlm –c cntlm.ini –H

    우분투 / 리눅스 cntlm -v -H -c /etc/cntlm.conf

  3. 구성에서 일반 텍스트 비밀번호를 제거하고 생성 된 비밀번호로 바꾸십시오.

작동하는지 확인하려면 :

윈도우 cntlm –M http://www.google.com

우분투 / 리눅스 sudo cntlm -M http://www.google.com/

자세한 지침은 위의 링크를 참조하십시오.

최신 정보:

완벽을 기하기 위해 최근 Windows에서 CNTLM을 구성하고 사용할 수있었습니다. 프록시와 Windows 용 CNTLM 설치 및 구성으로 인해 Kindle for PC의 동기화 프로세스 중에 문제가 발생했습니다. 자세한 내용내 기사 를 참조하십시오.


Ubuntu를 사용하면 프록시 옵션을 광고대로 작동시킬 수 없으므로 다음 명령이 작동 하지 않았습니다 .

sudo pip --proxy http://web-proxy.mydomain.com install somepackage

그러나 https_proxy환경 변수를 내보내는 것은 https_proxy아닙니다 http_proxy.

export https_proxy=http://web-proxy.mydomain.com

그때

sudo -E pip install somepackage

Windows에서 설정하는 것을 잊지 마십시오

SET HTTPS_PROXY=<proxyHost>:<proxyPort>

내가 설정해야 할 것

pip install pep8

나는 나에게 일하지 않았다. 나는 작품에 https를 사용했다.

pip install --proxy=https://user@mydomain:port somepackage

업데이트하려면 -U를 추가하십시오.


회사의 루트 인증서를 site-packages / pip 폴더의 cacert.pem 파일에 추가하여 HTTPS를 통한 pip를 계속 사용할 수 있습니다. 그런 다음 ~ / pip / pip.conf (또는 Windows의 경우 ~ \ pip \ pip.ini)에 다음 줄을 추가하여 프록시를 사용하도록 pip를 구성하십시오.

[global]
proxy = [user:passwd@]proxy.server:port

그게 다야. 타사 패키지를 사용하거나 HTTPS를 포기할 필요가 없습니다 (물론 네트워크 관리자는 여전히 수행중인 작업을 볼 수 있습니다).


창문 용; 명령 프롬프트에서 프록시를 다음과 같이 설정하십시오.
set HTTP_PROXY=domain\username:password@myproxy:myproxyport

예:
set http_proxy=IND\namit.kewat:xl123456@192.168.180.150:8880


이것은 나를 위해 일했습니다 (CMD를 통해 Windows에서).

pip install --proxy proxyserver:port requests

$ pip --proxy http://proxy-host:proxy-port install packagename

이것이 나를 위해 일한 것입니다.


보안 정책에 따라 https 를 pypi와 함께 사용할 수 없으며 SSL 검사는 인증서를 다시 작성하므로 www.python.org의 내장 pip 보안을 위반합니다. 중간에있는 사람은 네트워크 관리자입니다.

따라서 일반 http를 사용해야 합니다. 이렇게하려면 시스템 프록시와 기본 pypi를 재정의해야합니다.

bin/pip install --proxy=squidproxy:3128 -i http://www.python.org/pypi --upgrade "SQLAlchemy>=0.7.10"

Windows 7에서 :

pip install --proxy DOMAIN\user:password@proxyaddress:port package

즉 :

pip install --proxy BR\neo:p4ssw0rd@myproxyrocks.com.br:8080 virtualenv

Windows 명령 프롬프트를여십시오.

프록시 환경 변수를 설정하십시오.

set http_proxy=http://user:password@proxy_ip:port
set https_proxy=https://user:password@proxy_ip:port

동일한 Windows 명령 프롬프트에서 프록시를 사용하여 Python 패키지를 설치하십시오.

pip install --proxy="user:password@proxy_ip:port" package_name

모바일 핫스팟 / USB 테 더링으로 전화

회사 프록시를 통해 길을 찾는 데 많은 어려움이 있으면 전화를 통해 웹에 연결하고 (Wi-Fi가있는 경우 무선 핫스팟, 그렇지 않은 경우 USB 테더) 빠른 연결을 수행합니다 pip install.

모든 설정에서 작동하지는 않지만 대부분의 사람들을 한곳에 모아야합니다.


우분투 14.04 LTS에서

   sudo pip --proxy http://PROXYDOM:PROXYPORT install package

건배


나는 같은 문제가 있었다 : 직장에서 인증을받은 회사 프록시 뒤에는 Sublime Text 2뿐만 아니라 핍 작업을 할 수 없었습니다. pip의 경우 (git에서 시도해 볼 것입니다) cntlm 프록시 설치를 해결했습니다. 구성하는 것은 매우 간단했습니다.

  1. cntlm.ini 편집
  2. "사용자 이름", "도메인", "암호"필드 편집
  3. 프록시 설정으로 "프록시"행을 추가하십시오. server:port
  4. "NoProxy"행에 "localhost"가 통합되어 있는지 확인하십시오 (기본값)
  5. 기본 포트를 참고하십시오 : 3128
  6. 저장하면됩니다.

작동하는지 테스트하려면 새 명령 줄 도구를 시작하고 다음을 시도하십시오.

pip install django --proxy=localhost:3128

그것은 나를 위해 일했다. 이것이 도움이되기를 바랍니다.


고급 시스템 설정에서 환경 변수를 설정하십시오. 명령 프롬프트에서 다음과 같이 작동해야합니다.

C : \ Windows \ system32> 에코 % http_proxy %

http : // username : passowrd @ proxy : port

C : \ Windows \ system32> 에코 % https_proxy %

http : // username : password @ proxy : port

나중에 간단하게 pip install whatEver작동합니다.


프록시로 pip를 업그레이드하려면 다음을 사용할 수 있습니다 (예 : Windows).

python -m pip --proxy http://proxy_user:proxy_password@proxy_hostname:proxy_port insta
ll --upgrade pip

나는 이것을 실행하여 이것을 달성 할 수 있었다 :

pip install --proxy=http://user:pass@your.proxy.com:3128 package==version

공동 프록시 내부에서 Python 3.7.3을 사용하고 있습니다.


Windows 사용자의 경우 : Flask-MongoAlchemy를 설치하려면 다음 코드를 사용하십시오.

pip install Flask-MongoAlchemy --proxy="http://example.com:port"**

CentOS에서 (실제로 모든 리눅스 배포판이 비슷하다고 생각합니다)

env|grep http_proxy

env|grep https_proxy

해당 명령의 출력 결과를 확인하십시오 (프록시 주소를 포함해야 함).

출력이 비어 있거나 잘못된 값이있는 경우 예를 들어 다음과 같이 수정하십시오.

export http_proxy=http://10.1.1.1:8080
export https_proxy=http://10.1.1.1:8080

이제 pip를 사용하여 일부 패키지를 가져오고 설치하십시오.

pip --proxy http://10.1.1.1:8080 install robotframework

실제로 작동하지 않는 경우를 결코 만나지 못했습니다. 일부 시스템의 경우 루트 여야합니다 (스도 충분하지 않음).


경고, "pip search"명령에는 문제가 있습니다. 검색 명령은 전달 방법에 관계없이 프록시 설정을 사용하지 않습니다.

"search"명령 만 시도하는 문제를 파악하려고했지만 해당 버그에 대한 자세한 설명과 함께이 게시물을 찾았습니다. https://github.com/pypa/pip/issues/1104

파이썬 2.7.9가있는 데비안 8에서 pip 1.5.6으로 버그가 남아 있음을 확인할 수 있습니다. "pip install"명령은 매력처럼 작동합니다.


오류가 발생했습니다.

chris@green:~$ sudo http_proxy=http://localhost:3128 pip install django==1.8.8 
Downloading/unpacking django==1.8.8
  Cannot fetch index base URL http://pypi.python.org/simple/
  Could not find any downloads that satisfy the requirement django==1.8.8
No distributions at all found for django==1.8.8
Storing complete log in /home/chris/.pip/pip.log

프록시 서버의 포트는 ssh 포트로 전달됩니다 localhost:3128.

작동하도록 http 및 https 프록시를 설정해야했습니다.

chris@green:~$ sudo http_proxy=http://localhost:3128 https_proxy=http://localhost:3128 pip install django==1.8.8
Downloading/unpacking django==1.8.8
  Downloading Django-1.8.8.tar.gz (7.3Mb): 7.3Mb downloaded
  Running setup.py egg_info for package django

    warning: no previously-included files matching '__pycache__' found under directory '*'
    warning: no previously-included files matching '*.py[co]' found under directory '*'
Installing collected packages: django
  Running setup.py install for django

    warning: no previously-included files matching '__pycache__' found under directory '*'
    warning: no previously-included files matching '*.py[co]' found under directory '*'
    changing mode of build/scripts-2.7/django-admin.py from 644 to 755
    changing mode of /usr/local/bin/django-admin.py to 755
    Installing django-admin script to /usr/local/bin
Successfully installed django
Cleaning up...

http://pypi.python.org/simple/로 리디렉션 https://pypi.python.org/simplepip의 오류가 당신에게하지 않습니다.


또한 이것에 대한 전문가는 아니지만 all_proxy~ / .bashrc 파일에서 변수를 설정하여 작동하게 만들었습니다 . ~/.bashrc터미널에서 파일 을 열고 편집 하려면 다음 명령을 실행하십시오.

gedit ~/.bashrc &

파일 끝에 다음을 추가하십시오.

export all_proxy="http://x.y.z.w:port"

그런 다음 새 터미널을 열거 나 동일한 터미널에서 다음을 실행하십시오.

source ~/.bashrc

설정 http_proxyhttps_proxy변수만으로는 간단한 사용법으로는 충분하지 않습니다 pip install somepackage. 어떻게 든 sudo -E pip install somepackage작동하지만 이것이 사용자 폴더에 Anaconda의 로컬 설치를 사용하는 경우 문제가 발생했습니다.

추신-우분투 16.04를 사용하고 있습니다.


로컬에서하는 것은 어떻습니까? 대부분의 경우 브라우저를 통해 https 소스에서 다운로드 할 수 있습니다

  1. 모듈 파일 (mysql-connector-python-2.0.3.zip / gz ... 등)을 다운로드하십시오.
  2. 압축을 풀고 setup.py가있는 압축이 풀린 디렉토리로 이동하여 다음을 호출하십시오.

    C:\mysql-connector-python-2.0.3>python.exe setup.py install
    

다음 환경 변수를 설정하십시오. export PIP_PROXY=http://web-proxy.mydomain.com


Linux를 루트로 사용하는 경우 :

env https_proxy=http://$web_proxy_ip:$web_proxy_port pip install something

env를 사용하면 pip install 명령의 현재 실행을 위해 변수 https_proxy를 내 보냅니다.

$ web_proxy_ip는 프록시의 호스트 이름 또는 IP입니다. $ web_proxy_port는 포트입니다.


프록시 뒤에서 인터넷에 연결하는 경우 일부 명령을 실행하는 데 문제가있을 수 있습니다.

명령 프롬프트에서 프록시 구성을위한 환경 변수를 다음과 같이 설정하십시오.

set http_proxy=http://username:password@proxyserver:proxyport
set https_proxy=https://username:password@proxyserver:proxyport

이것이 나를 위해 일하는 것입니다.

pip --proxy proxy url:port command package

"Fiddler"( https://www.telerik.com/download/fiddler )를 사용하여 Windows에서 PIP 관련 문제를 해결했습니다 . 다운로드 및 설치 후 다음을 수행하십시오.

"Rules"=> "자동 인증"클릭

예 : pip install virtualenv -proxy 127.0.0.1:8888

프롬프트를 열고 사용하십시오.

https://github.com/pypa/pip/issues/1182 "voltagex"검색 (2015 년 5 월 22 일 코멘트)


Windows의 경우 C : /ProgramData/pip/pip.ini로 이동하여 설정하십시오.

[글로벌]

프록시 = http : // YouKnowTheRest

프록시 세부 정보와 함께. 이는 pip에 대한 프록시를 영구적으로 구성합니다.


더 간단한 접근법은 다음과 같습니다.

  1. $HOME디렉토리 에 "pip"라는 이름의 폴더를 만듭니다 .
  2. 1 단계에서 작성된 디렉토리에 "pip.ini"(Windows) 또는 "pip.conf"(Linux)라는 파일을 작성하십시오.
  3. pip.ini / pip.conf 아래에 다음 줄을 복사하여 붙여 넣습니다.

    [global]
    trusted-host = pypi.python.org
                   pypi.org
                   files.pythonhosted.org 
    

참고 URL : https://stackoverflow.com/questions/14149422/using-pip-behind-a-proxy-with-cntlm

반응형