내 컴퓨터는 Windows 서버의 프록시 뒤에서 Windows를 실행 중이며 (활성 디렉토리 사용) pip
(python3에서) 그것을 통해 얻는 방법을 알 수 없습니다 . 을 사용해 보았지만 --proxy
여전히 시간 초과입니다. 또한 긴 시간 제한 (60 초)을 설정해 보았지만 아무런 차이가 없었습니다. 내 프록시 설정이 올 바르고 TortoiseHG에서 성공적으로 사용중인 프록시 설정과 비교하여 확인했습니다.
누구든지 내가 시도 할 수있는 다른 트릭이 있습니까, 아니면 pip
Windows 프록시와 관련하여 제한이 있습니까?
업데이트 : 실패한 시도는 pypi 검색과 관련이 있습니다. 나는 실제로 무언가를 설치하려고 시도했지만 작동했습니다. 그래도 검색이 실패합니다. 버그가 있음을 나타내 pip
거나 다르게 작동합니까?
답변
회사의 NTLM 인증 프록시에서 작동하는 두 가지 옵션을 시도했습니다. 옵션 1은--proxy http://user:pass@proxyAddress:proxyPort
여전히 문제가있는 경우 프록시 인증 서비스 ( CNTLM 사용 )를 설치하고 pip를 가리키는 것이 좋습니다.--proxy http://localhost:3128
답변
이것을 알아내는 데 몇 시간이 걸렸지 만 마침내 CNTLM을 사용하여 작동하게되었고 나중에 pip 구성 파일로만 작동하도록했습니다. 다음은 pip 구성 파일로 작동하는 방법입니다.
해결책:
1. Windows에서 사용자 프로필 디렉터리 (예 : C : \ Users \ Sync)로 이동하여 ” pip ” 라는 폴더를 만듭니다.
2. 이 디렉터리 (예 : C : \ Users \ Sync \ pip \ pip.ini)에 ” pip.ini ” 라는 파일을 만들고 여기 에 다음을 입력합니다.
[global]
trusted-host = pypi.python.org
pypi.org
files.pythonhosted.org
proxy = http://[domain name]%5C[username]:[password]@[proxy address]:[proxy port]
[도메인 이름] , [사용자 이름] , [비밀번호] , [프록시 주소] 및 [프록시 포트] 를 자신의 정보로 바꿉니다 .
참고 경우 [도메인 이름] , [사용자 이름] 또는 [암호] 특수 문자가, 당신이 가지고 퍼센트 인코딩 | 인코딩하십시오 .
3. 이 시점에서 아무런 문제없이 ” pip install ” 을 실행할 수있었습니다 .
바라건대 이것은 다른 사람들에게도 효과가 있습니다!
추신 : 암호를 일반 텍스트로 저장하기 때문에 보안 문제가 발생할 수 있습니다. 이것이 문제라면 이 문서를 사용하여 CNTLM을 설정하는 것이 좋습니다 (일반 텍스트 대신 해시 된 암호 사용 허용). 나중에 proxy = 127.0.0.1:3128
위에서 언급 한 “pip.ini”파일에서 설정 합니다.
답변
답변
Windows 7에서 동일한 문제가 발생했습니다. 내부에 “pip.ini”파일이있는 “pip”폴더를 만들어 작동하도록 관리했습니다. Python 문서에 따르면이 폴더를 “C : \ Users \ {my.username} \ AppData \ Roaming”에 넣었습니다.
Windows에서 구성 파일은 % APPDATA % \ pip \ pip.ini입니다.
pip.ini 파일에는 다음 만 있습니다.
[global]
proxy = [proxy address]:[proxy port]
따라서 사용자 이름 : 암호가 없습니다. 그리고 그것은 잘 작동합니다.
답변
비슷한 문제가 있었는데 회사에서 NTLM 프록시 인증을 사용한다는 사실을 알게되었습니다. pip.log에이 오류가 표시되면 다음과 같은 문제 일 수 있습니다.
URL http://pypi.python.org/simple/pyreadline을 가져올 수 없습니다 . HTTP 오류 407 : 프록시 인증 필요 (ISA Server에 요청을 수행하려면 인증이 필요합니다. 웹 프록시 필터에 대한 액세스가 거부되었습니다.)
NTLMap은 중간 프록시가되어 NTLM 프록시 서버와 인터페이스하는 데 사용할 수 있습니다.
NTLMAP를 다운로드하고 포함 된 server.cfg를 업데이트하고 main.py 파일을 실행 한 다음 pip의 프록시 설정을 127.0.0.1 :로 지정합니다.
또한 server.cfg
파일 에서 이러한 기본값을 다음과 같이 변경해야 합니다.
LM_PART:1
NT_PART:1
# Highly experimental option. See research.txt for details.
# LM - 06820000
# NT - 05820000
# LM + NT -
NTLM_FLAGS: 07820000
답변
프록시의 인증서에 문제가 발생할 수도 있습니다. 여기에 프록시 인증서를 검색하는 방법에 대한 많은 답변이 있습니다.
Windows 호스트에서 pip가 프록시를 지우도록 허용하려면 다음과 같은 환경 변수를 설정할 수 있습니다.
PIP_CERT=C:\path\to\certificate\file\in\pem\form\myproxycert.pem
동일한 결과로 --cert
to 인수를 사용할 수도 PIP
있습니다.
답변
원격 Windows 환경에서 동일한 문제가 발생했습니다. 여기 또는 다른 유사한 게시물에서 찾은 많은 솔루션을 시도했지만 아무것도 작동하지 않았습니다. 마지막으로 해결책은 매우 간단했습니다. NO_PROXY
cmd 로 설정해야했습니다 .
set NO_PROXY="<domain>\<username>:<password>@<host>:<port>"
pip install <packagename>
큰 따옴표를 사용 NO_PROXY
하고 대문자로 설정 해야합니다. NO_PROXY
콘솔을 사용할 때마다 설정하는 대신 환경 변수로 추가 할 수도 있습니다 .
여기에 게시 된 다른 솔루션이 작동하면 도움이되기를 바랍니다.