거의 모든 라이브러리를 설치하는 pip 문제


101

거의 모든 것을 설치하기 위해 pip를 사용하는 데 어려움이 있습니다. 나는 코딩을 처음 접했기 때문에 이것이 내가 잘못하고있는 일이라고 생각하고 내가 필요한 대부분의 작업을 수행하기 위해 easy_install을 선택했지만 일반적으로 작동했습니다. 그러나 이제 nltk 라이브러리를 다운로드하려고하는데 둘 다 작업이 완료되지 않았습니다.

나는 들어 가려고했다

sudo pip install nltk

그러나 다음과 같은 응답을 받았습니다.

/Library/Frameworks/Python.framework/Versions/2.7/bin/pip run on Sat May  4 00:15:38 2013
Downloading/unpacking nltk

  Getting page https://pypi.python.org/simple/nltk/
  Could not fetch URL [need more reputation to post link]: There was a problem confirming the ssl certificate: <urlopen error [Errno 1] _ssl.c:504: error:0D0890A1:asn1 encoding routines:ASN1_verify:unknown message digest algorithm>

  Will skip URL [need more reputation to post link]/simple/nltk/ when looking for download links for nltk

  Getting page [need more reputation to post link]/simple/
  Could not fetch URL https://pypi.python. org/simple/: There was a problem confirming the ssl certificate: <urlopen error [Errno 1] _ssl.c:504: error:0D0890A1:asn1 encoding routines:ASN1_verify:unknown message digest algorithm>

  Will skip URL [need more reputation to post link] when looking for download links for nltk

  Cannot fetch index base URL [need more reputation to post link]

  URLs to search for versions for nltk:
  * [need more reputation to post link]
  Getting page [need more reputation to post link]
  Could not fetch URL [need more reputation to post link]: There was a problem confirming the ssl certificate: <urlopen error [Errno 1] _ssl.c:504: error:0D0890A1:asn1 encoding routines:ASN1_verify:unknown message digest algorithm>

  Will skip URL [need more reputation to post link] when looking for download links for nltk

  Could not find any downloads that satisfy the requirement nltk

No distributions at all found for nltk

Exception information:
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pip-1.3.1-py2.7.egg/pip/basecommand.py", line 139, in main
    status = self.run(options, args)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pip-1.3.1-py2.7.egg/pip/commands/install.py", line 266, in run
    requirement_set.prepare_files(finder, force_root_egg_info=self.bundle, bundle=self.bundle)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pip-1.3.1-py2.7.egg/pip/req.py", line 1026, in prepare_files
    url = finder.find_requirement(req_to_install, upgrade=self.upgrade)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pip-1.3.1-py2.7.egg/pip/index.py", line 171, in find_requirement
    raise DistributionNotFound('No distributions at all found for %s' % req)
DistributionNotFound: No distributions at all found for nltk

--easy_install installed fragments of the library and the code ran into trouble very quickly upon trying to run it.

이 문제에 대한 의견이 있으십니까? 나는 pip를 작동 시키거나 그 동안 문제를 해결할 수있는 방법에 대한 피드백을 정말 고맙게 생각합니다.


2
[SSL: TLSV1_ALERT_PROTOCOL_VERSION]모든에 대해이 오류가 발생하는 사람들에게는 pip installPython.org 사이트에서 최근 TLS 사용이 중단 되었기 때문입니다. 참조 이 답변
Anupam

답변:


136

pypi 호스트를 신뢰할 수있는 것으로 지정하는 것으로 충분합니다. 예:

pip install --trusted-host pypi.python.org pytest-xdist
pip install --trusted-host pypi.python.org --upgrade pip

이로 인해 다음 오류가 해결되었습니다.

  Could not fetch URL https://pypi.python.org/simple/pytest-cov/: There was a problem confirming the ssl certificate: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:600) - skipping
  Could not find a version that satisfies the requirement pytest-cov (from versions: )
No matching distribution found for pytest-cov

2018 년 4 월 업데이트 : TLSV1_ALERT_PROTOCOL_VERSION 오류가 발생하는 모든 사람에게 : OP 또는이 답변의 신뢰할 수있는 호스트 / 확인 문제와 관련이 없습니다. TLSV1 오류는 인터프리터가 TLS v1.2를 지원하지 않기 때문입니다. 인터프리터를 업그레이드해야합니다. 예를 들어 https://news.ycombinator.com/item?id=13539034 , http://pyfound.blogspot.ca/2017/01/time-to-upgrade-your-python-tls-v12.htmlhttps참조 하십시오. : //bugs.python.org/issue17128 .

2019 년 2 월 업데이트 : 일부의 경우 pip를 업그레이드하는 것으로 충분할 수 있습니다. 위의 오류로 인해이 작업을 수행 할 수없는 경우 get-pip.py를 사용하십시오. 예 : Linux에서

curl https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py

자세한 내용은 https://pip.pypa.io/en/stable/installing/ 에서 확인하세요 .


4
이것은 윈도우 시스템에서 년 후, 나를 위해 일한
앨런 버틀러에게

23
나는 여전히 오류 - 수Could not fetch URL https://pypi.python.org/simple/pytest-xdist/: There was a problem confirming the ssl certificate: [SSL: TLSV1_ALERT_PROTOCOL_VERSION] tlsv1 alert protocol version (_ssl.c:590) - skipping
Sankalp

3
나는 완전히 별개의 문제이기 때문에 TLSV1에 대해 이야기하기 위해 내 대답을 업데이트했습니다.
올리버

8
@peterpod이 대답을 참조하십시오 : stackoverflow.com/a/49769015/1526703
Anupam


40

나는 pip 버전을 사용 9.0.1하고 같은 문제가 있었고 위의 모든 답변으로 문제가 해결되지 않았으며 다른 이유로 brew와 함께 python / pip를 설치할 수 없었습니다.

9.0.3문제 를 해결하기 위해 pip를 업그레이드했습니다 . 그리고 pip로 pip를 업그레이드 할 수 없기 때문에 소스를 다운로드하여 수동으로 설치했습니다.

  1. https://pypi.org/simple/pip/ 에서 올바른 버전의 pip를 다운로드합니다.
  2. sudo python3 pip-9.0.3.tar.gz -pip 설치

또는 다음을 사용하여 최신 pip를 설치할 수 있습니다.

curl https://bootstrap.pypa.io/get-pip.py | python

@apatsekin의 답변에 대한 내 의견에서 언급했듯이 이는 최근 pip에 대한 TLS 지원 중단으로 인해 발생합니다. 자세한 내용은 이 답변 을 참조하십시오.
Anupam

감사합니다 .. 동일한 기능이 Python 2에서도 작동했음을 확인할 수 있습니다 (레거시 atm에서 작업 중입니다)
cardamom

conda / anaconda 때문에 brew 또는 pip를 사용하여 pip를 업데이트 할 수없는 conda install pip경우을 사용하여 conda 환경에서 사용중인 pip를 설치 / 업그레이드 할 수 있습니다 . conda를 설치 한 경우 루트 / 기본 conda 환경에서이 작업을 수행해야합니다
hobs

1
그냥 설치 PIPcurl https://bootstrap.pypa.io/get-pip.py | python
Sumeet Gohil

32

Pypi는 1.2 미만의 TLS 버전에 대한 지원을 제거했습니다.

Pip을 다시 설치해야합니다.

curl https://bootstrap.pypa.io/get-pip.py | python

또는 전역 Python의 경우 :

curl https://bootstrap.pypa.io/get-pip.py | sudo python

이것은 Mac OS 버전 Sierra 10.12.6에서 문제를 해결했습니다. 고마워!
Zhenhua

High Sierra에서 나를 위해 작동합니다. 감사합니다.
rustyshackleford

28

pip3 버전을 사용했고 9.0.1최근에 명령을 통해 패키지를 설치할 수 없었습니다 pip3 install.

Mac OS 버전 : EI Captain 10.11.5.

파이썬 버전 : 3.5

나는 명령을 시도했다 :

curl https://bootstrap.pypa.io/get-pip.py | python

나를 위해 작동하지 않았습니다.

그래서 이전 pip를 제거하고 다음 10.0.0을 입력 하여 최신 버전 을 설치 했습니다.

python3 -m pip uninstall pip setuptools
curl https://bootstrap.pypa.io/get-pip.py | python3

이제 내 문제가 해결되었습니다. python2를 사용하는 경우 python3을 python으로 대체 할 수 있습니다. 나는 그것이 당신에게도 효과가 있기를 바랍니다.

그건 그렇고, 저와 같은 신인들은 코드를 입력해야합니다 : sudo -i

루트를 얻으려면 :) 행운을 빕니다!


위와 같이 python pip를 다시 설치하려고 시도 했지만 이것은 나를 위해 일했습니다. 감사합니다!
MikeJannino

"sudo -i"를 무시하지 마십시오
Dung

27

아마도이 버그를 보고 계실 것입니다 . 여기도 참조 하십시오 .

가장 쉬운 해결 방법은 pip를 SSL을 사용하지 않는 것으로 다운 그레이드하는 것입니다 : easy_install pip==1.2.1. 이로 인해 SSL 사용의 보안 이점이 손실됩니다. 실제 솔루션은 최신 SSL 라이브러리에 연결된 Python 배포를 사용하는 것입니다.


1
Dougal에게 감사하지만 pip 1.2.1도 작동하지 않습니다. -Python 배포판을 최신 SSL 라이브러리로 업데이트하는 방법을 알려주시겠습니까?
contentclown

사실, 방금 모든 일을 할 수 있습니다. 도와 주셔서 감사합니다, Dougal!
contentclown 2013 년

7
@ user2348946 미래의 사람들에게 유용하도록 무엇을 했습니까?
Dougal

1
@DannyStaple 네, 바로 제가 제안한 것입니다. 물론, 파이썬의 비 시스템 설치를 사용하는 것은 그리 어렵지 않습니다. 저는 개인적으로 Anaconda를 사용하는데 , 이는 수치 응용에 적합하지만 어떤 용도 로든 작동합니다.
Dougal

1
@ user13107 예; 수락 된 답변에 대한 의견에서 언급했듯이 PyPI에는 이제 TLS 1.2가 필요합니다. Python 설치를 업데이트해야합니다.
Dougal

18

SSL 오류의 또 다른 원인은 잘못된 시스템 시간 일 수 있습니다. 현재와 너무 멀어지면 인증서의 유효성을 검사하지 않습니다.


감사합니다!! 그것은 나를 위해 일한 유일한 해결책이었습니다. 내 서버의 시계가 꺼져 있습니다.
Adam


6

--trusted-host pypi.python.org옵션 을 추가하여 비슷한 문제를 해결했습니다.


6

다른 패키지를 설치하려면 9.0.1이 SSL 문제가 있기 때문에 최신 버전의 pip를 사용해야합니다 . pip 자체로 pip를 업그레이드하려면 먼저이 SSL 문제를 해결해야합니다. 이 끝없는 루프에서 뛰어 내리기 위해 저는 이것이 저에게 적합한 유일한 방법을 찾습니다.

  1. 이 페이지에서 최신 버전의 pip를 찾으십시오 : https://pypi.org/simple/pip/
  2. .whl최신 버전 의 파일을 다운로드하십시오 .
  3. pip를 사용하여 최신 pip를 설치합니다. (여기에서 최신 버전 사용)

sudo pip install pip-10.0.1-py2.py3-none-any.whl

이제 pip는 최신 버전이며 무엇이든 설치할 수 있습니다.


5

솔루션 -아래 호스트를 신뢰할 수 있음으로 표시하여 패키지 설치

  • pypi.python.org
  • pypi.org
  • files.pythonhosted.org

임시 솔루션

pip install --trusted-host pypi.python.org --trusted-host pypi.org --trusted-host files.pythonhosted.org {package name}

영구 솔루션 -PIP (버전 9.0.1 문제)를 최신으로 업데이트하십시오.

pip install --trusted-host pypi.python.org --trusted-host pypi.org --trusted-host files.pythonhosted.org pytest-xdist

python -m pip install --trusted-host pypi.python.org --trusted-host pypi.org --trusted-host files.pythonhosted.org --upgrade pip

3

macOS Sierra 10.12.6. pip (homebrew를 통해 설치된 Python)를 통해 아무것도 설치할 수 없습니다. 위의 모든 답변이 작동하지 않았습니다.

결국 파이썬 3.5에서 3.6으로 업그레이드했습니다.

brew update
brew doctor #(in case you see such suggestion by brew)

그런 다음 brew의 추가 제안을 따르십시오. 즉, 파이썬 링크를 덮어 씁니다.


1
Mac OS 10.12를 사용하는 경우 원래 문제는 실제로 최근 TLS 지원 중단과 관련이있을 수 있습니다 pip. 자세한 내용은 이 게시물 을 참조하십시오. pip10.12 및 이전 버전에서 이전 보안 프로토콜 지원을 중지했습니다.
Anupam

3

나는 같은 문제가 있었다. 방금 파이썬을 2.7.0 에서 2.7.15로 업데이트했습니다 . 문제를 해결합니다.

여기에서 다운로드 할 수 있습니다 .


나는 이것을 10 번째로 고쳤다. OSX의 문제를 잘 이해하고 각 "솔루션"의 실패가 무엇인지, 어디에 있는지 아는 것은 과거와는 다릅니다. 이번 투표는 OSX에 2.7.15 설치로 이동합니다. 간단하고 효과적입니다. 또한 SSL / OpenSSH 문제에 대한 참고 사항이 릴리스에 있습니다. 건배와 감사합니다!
Marc

3

blackjar에 의해 위에 게시 된 것처럼 아래 줄이 저에게 효과적이었습니다.

pip --trusted-host pypi.python.org --trusted-host files.pythonhosted.org --trusted-host pypi.org install xxx

세 가지 모두를 제공해야합니다 --trusted-host options. 답을보고 첫 번째 만 시도했지만 그렇게되지 않았습니다.


2

conda를 사용하여 패키지를 설치할 수도 있습니다. http://conda.pydata.org를 참조하십시오 .

conda install nltk

conda를 사용하는 가장 좋은 방법은 Miniconda를 다운로드하는 것입니다.

pip install conda
conda init
conda install nltk

7
공정하게도 pip install작동하지 않으면 pip를 통해 다른 패키지 관리자를 설치하는 것이 좋습니다.
Dave Newton

이것은 실제로 나를 위해 일했습니다. 파이썬을 설치 한 후 아나콘다를 설치했습니다. 나는 이것을 읽을 때까지 아나콘다에 자체 설치 프로그램이 있다는 것을 전혀 몰랐습니다. 그래서 이것은 나를 위해 일한 대답입니다. Travis의 의견은 그가 miniconda 설치를 권장했기 때문에 닭고기 / 달걀 문제를 다룹니다.
NewQuestion 투표 인 경우 CLOSE

2

나에게 최신 pip (1.5.6)는 보안에 대해 너무 까다 롭지 않다고 말하면 안전하지 않은 nltk 패키지에서 잘 작동합니다.

pip install --upgrade --force-reinstall --allow-all-external --allow-unverified ntlk nltk

이것은 오래된 대답입니다. 어떤 버전을 사용 pip하고 있습니까?
hobs

1
마지막 것 같아요. 나는 또 다시 모든 (파이썬 2.7, PIP 등) 및 다시 설치하는 모든 것을 제거하여 문제를 해결 생각
DaniPaniz

2

시도

pip --trusted-host pypi.python.org --trusted-host files.pythonhosted.org --trusted-host pypi.org install xxx 

그리고 마침내 pypi.python.org 도메인이 변경된 이유를 이해하지 못했습니다.


1

프록시를 통해 연결하는 경우 export https_proxy=<your_proxy>(Unix 또는 Git Bash에서) 실행 한 다음 설치를 다시 시도하십시오.

Windows cmd를 사용하는 경우 set https_proxy=<your_proxy>.


1

이 문제를 해결하기 위해 Windows 7에서 다음을 수행했습니다.

c : \ Program Files \ Python36 \ Scripts> pip install beautifulsoup4 --trusted-host *

--trusted-host는 SSL 문제를 해결하는 것으로 보이며 *는 모든 호스트를 의미합니다.

물론 이것은 beautifulsoup4 요구 사항을 충족하는 버전이 없기 때문에 다른 오류가 발생하기 때문에 작동하지 않지만 문제가 일반적인 질문과 관련이 있다고 생각하지 않습니다.


1

pip 패키지를 제거하고 다시 설치하십시오.

Mac OS 버전 : High Sierra 10.13.6

파이썬 버전 : 3.7

그래서 이전 pip를 제거하고 다음을 입력하여 최신 버전 10.0.0을 설치했습니다.

python3 -m pip uninstall pip setuptools

curl https://bootstrap.pypa.io/get-pip.py | python3

이제 내 문제가 해결되었습니다. python2를 사용하는 경우 python3을 python으로 대체 할 수 있습니다. 나는 그것이 당신에게도 효과가 있기를 바랍니다.


0

nltk에 관한 것이라면 한 번 비슷한 문제에 직면했습니다. 설치를 위해 다음 가이드를 시도하십시오. NLTK 설치

다른 모듈에서 작동하지 않는다고 확신하는 경우 설치된 다른 버전의 Python에 문제가있을 수 있습니다.

또는 pip가 이미 설치되어 있는지 확인하십시오. :

sudo apt-get install python-pip python-dev build-essential 

작동하는지 확인하십시오.


0

다음 단계를 통해이 문제를 해결했습니다 (sles 11sp2에서).

zypper remove pip
easy_install pip=1.2.1
pip install --upgrade scons

다음은 꼭두각시의 동일한 단계입니다 (모든 배포판에서 작동해야 함).

  package { 'python-pip':
    ensure => absent,
  }
  exec { 'python-pip':
    command  => '/usr/bin/easy_install pip==1.2.1',
    require  => Package['python-pip'],
  }
  package { 'scons': 
    ensure   => latest,
    provider => pip,
    require  => Exec['python-pip'],
  }


0

나는 PyCharm에서 이것을 가지고 있고 pip를 10.0.1로 업그레이드하면 " 'main'not found in module"오류로 pip가 깨졌습니다.

다른 스레드에서 볼 수 있듯이 pip 9.0.3을 설치하여이 문제를 해결할 수 있습니다. 내가 한 단계는 다음과 같습니다.

  1. https://pypi.org/simple/pip/ 에서 9.0.3 버전의 pip를 다운로드했습니다. (pip를 설치하는 데 사용할 수 없기 때문에).
  2. tar.gz에서 pip 9.0.3 설치 python -m pip install pip-9.0.3.tar.gz

그 후 모든 것이 작동하기 시작했습니다.




0

인기있는 답변 중 일부를 시도했지만 여전히 라이브러리 / 패키지를 사용하여 설치할 수 없습니다. pip install .

내 특정 오류는 'SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certificate in certificate chain Windows 용 Miniconda (설치 프로그램 Miniconda3-py37_4.8.3-Windows-x86.exe)를 사용하는 것입니다.

내가 이것을했을 때 마침내 작동합니다. pip install -r requirements.txt --trusted-host pypi.org --trusted-host pypi.python.org --trusted-host files.pythonhosted.org

특히, 작동하도록 추가했습니다. --trusted-host pypi.org --trusted-host pypi.python.org --trusted-host files.pythonhosted.org

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.