2012-11-29 4 views
0

pip 명령을 통해 python 패키지를 설치할 수 없으며 URL을 http://pypi.python.org/ 내 네트워크 서브넷에서 조인 할 수도 없습니다. 그러나 같은 컴퓨터를 사용하지만 다른 IP 및 서브넷을 가진 다른 네트워크에 연결할 때 패키지를 설치하고 URL을 조인하십시오. pip 설치시 "색인베이스 URL을 가져올 수 없습니다 http://pypi.python.org/simple/" 오류 메시지가 나타납니다. 이전에 작동했기 때문에 이것이 IP 금지 문제와 관련이 있다고 생각합니다. 전에 이런 경험을 한 사람이 있습니까?핍 연결 실패 - 인덱스 기본 URL을 가져올 수 없습니다.

+0

당신이 프록시를 통해 갈 수 :

여기 내 테스트입니까? 인증 정보가 정확하지 않은 경우 비슷한 메시지가 종종 나타납니다. – aquavitae

+0

'--use-mirrors'를 활성화 시키려고하면 어떻게 될까요? –

답변

1

솔루션?

[email protected]:~$export HTTP_PROXY="$http_proxy" 

짧은 대답 : 소문자 $ HTTP_PROXY 대문자 $의 HTTP_PROXY을 할 필요가

긴 대답 : 나는 또한이 오류를 얻고 있었다 . Checked netstat -ant 그리고 [pypi.python.org] 포트 80에 대해 "SYN SENT"가 인 것으로 나타났습니다.하지만 왜? My $ http_proxy 서버는 분명히 다른 트래픽을 다른 IP 및 포트 8080에 보냅니다. 그것은 전 세계적으로 설정되어 있으며 사용자가 root인지 otheruser인지는 중요하지 않으므로 sudo -E 해결책은 실행되지 않습니다.

문자열 HTTP_PROXY에 대한 os.environ.get() 호출의 pip 버전 1.0 -> 1.3.1에서 환경 변수에 대해 대소 문자 구분이 확인되지 않습니다. 정확히 '버그'는 아니지만 소문자 또는 대소 문자를 구분하지 않는 Google 크롬과 같이 설치된 다른 소프트웨어와 충돌합니다.

netstat에서 일부 IP "not-your-proxies-IP"의 포트 80에 대한 트래픽을 표시하는 경우 한 가지 해결책은 pip/download.py를 수정하여 소문자의 env var 'http_proxy'를 찾는 것입니다. 또는 사용자 환경에 $ http_proxy와 $ HTTP_PROXY가 모두 설정되어 있는지 확인하십시오.

[email protected]:~$ grep -R HTTP_PROXY /usr/local/lib/python2.7/dist-packages/pip/* 

/usr/local/lib/python2.7/dist-packages/pip/download.py:    
proxystr = os.environ.get('HTTP_PROXY', '') 

Python 2.7.3 (default, Aug 1 2012, 05:14:39) 
[GCC 4.6.3] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import os 
>>> proxystr = os.environ.get('HTTP_PROXY', '') 
>>> proxystr 
'' 

Now I change HTTP_PROXY to http_proxy and the same snippet of download.py returns the value of my proxy 

>>> proxystr = os.environ.get('http_proxy', '') 
>>> proxystr 
'http://proxyserver.mydomain.com:8080/' 
관련 문제