Pip Problem Installation fast jeder Bibliothek

100

Es fällt mir schwer, mit pip fast alles zu installieren. Ich bin neu in der Codierung, daher dachte ich, dass dies möglicherweise etwas ist, was ich falsch gemacht habe, und habe mich für easy_install entschieden, um das meiste, was ich tun musste, zu erledigen, was im Allgemeinen funktioniert hat. Jetzt versuche ich jedoch, die nltk-Bibliothek herunterzuladen, und keiner erledigt den Job.

Ich versuchte einzutreten

sudo pip install nltk

habe aber folgende Antwort bekommen:

/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.

Irgendwelche Gedanken zu diesem Thema? Ich würde mich sehr über Feedback freuen, wie ich Pip zum Laufen bringen kann oder wie ich das Problem in der Zwischenzeit umgehen kann.

Contentclown
quelle
2
Für Leute, die diesen Fehler [SSL: TLSV1_ALERT_PROTOCOL_VERSION]für alle erhalten pip install, liegt dies an der jüngsten TLS-Ablehnung durch Python.org-Sites. Siehe diese Antwort
Anupam

Antworten:

136

Ich fand es ausreichend, den Pypi-Host als vertrauenswürdig anzugeben. Beispiel:

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

Dies löste den folgenden Fehler:

  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

Update April 2018 : Für alle, die den Fehler TLSV1_ALERT_PROTOCOL_VERSION erhalten: Dies hat nichts mit dem Problem des vertrauenswürdigen Hosts / der Überprüfung des OP oder dieser Antwort zu tun. Der TLSV1-Fehler liegt eher darin, dass Ihr Interpreter TLS v1.2 nicht unterstützt. Sie müssen Ihren Interpreter aktualisieren. Siehe zum Beispiel https://news.ycombinator.com/item?id=13539034 , http://pyfound.blogspot.ca/2017/01/time-to-upgrade-your-python-tls-v12.html und https : //bugs.python.org/issue17128 .

Update Februar 2019 : Für einige kann es ausreichend sein, pip zu aktualisieren. Wenn der obige Fehler Sie daran hindert, verwenden Sie get-pip.py. ZB unter Linux,

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

Weitere Informationen finden Sie unter https://pip.pypa.io/en/stable/installing/ .

Oliver
quelle
4
Dies funktionierte für mich Jahre später auf einem Windows-System
Allen Butler
23
Ich bekomme immer noch einen FehlerCould 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
Ich habe meine Antwort aktualisiert, um über TLSV1 zu sprechen, da es sich um ein völlig separates Problem handelt.
Oliver
8
@ Peterpod siehe diese Antwort: stackoverflow.com/a/49769015/1526703
Anupam
40

Ich habe die Pip-Version verwendet 9.0.1 und hatte das gleiche Problem. Alle obigen Antworten haben das Problem nicht gelöst, und ich konnte Python / Pip mit Brew aus anderen Gründen nicht installieren.

Aktualisieren von pip, um 9.0.3das Problem zu lösen. Und weil ich pip nicht mit pip aktualisieren konnte, habe ich die Quelle heruntergeladen und manuell installiert.

  1. Laden Sie die richtige Version von pip von - https://pypi.org/simple/pip/ herunter.
  2. sudo python3 pip-9.0.3.tar.gz - Pip installieren

Oder Sie können neuere Pip installieren mit:

curl https://bootstrap.pypa.io/get-pip.py | python
Rom
quelle
Wie in meinem Kommentar zu @ apatsekins Antwort erwähnt, geschieht dies aufgrund der jüngsten TLS-Ablehnung für pip. Siehe diese Antwort für Details.
Anupam
Danke .. Kann bestätigen, dass das gleiche auch für Python 2 funktioniert (arbeite an etwas Legacy-Atm)
Kardamom
Wenn Conda / Anaconda der Grund ist, warum Sie Brew oder Pip nicht zum Aktualisieren von Pip verwenden können, können Sie conda install pipdas Pip, das Sie in Ihrer Conda-Umgebung verwenden , installieren / aktualisieren. Sie sollten dies in Ihrer Root / Base-Conda-Umgebung tun, wenn Sie Conda installiert haben
Kochfelder
1
Einfach Pip installierencurl https://bootstrap.pypa.io/get-pip.py | python
Sumeet Gohil
32

Pypi hat die Unterstützung für TLS-Versionen unter 1.2 entfernt

Sie müssen Pip neu installieren

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

oder für globales Python:

curl https://bootstrap.pypa.io/get-pip.py | sudo python
Parth Choudhary
quelle
Dies löste das Problem unter Mac OS Version Sierra 10.12.6. Vielen Dank!
Zhenhua
Arbeitet für mich in High Sierra. Danke dir.
Rustyshackleford
28

Ich habe die pip3-Version verwendet 9.0.1und konnte kürzlich keine Pakete über den Befehl installieren pip3 install.

Mac OS Version: EI Captain 10.11.5 .

Python-Version: 3.5

Ich habe den Befehl ausprobiert:

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

Bei mir hat es nicht funktioniert.

Also habe ich den älteren Pip deinstalliert und die neueste Version installiert, 10.0.0indem ich Folgendes eingegeben habe:

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

Jetzt war mein Problem gelöst. Wenn Sie python2 verwenden, können Sie python3 durch python ersetzen. Ich hoffe es funktioniert auch bei dir.

Übrigens, für einige Neulinge wie mich müssen Sie den Code eingeben: sudo -i

um die Wurzel richtig zu gewinnen :) Viel Glück!

Aachen
quelle
Ich wollte gerade versuchen, Python und Pip neu zu installieren, aber das hat bei mir funktioniert. Danke dir!
MikeJannino
ignorieren Sie nicht "sudo -i"
Dung
27

Sie sehen wahrscheinlich diesen Fehler ; siehe auch hier .

Die einfachste Problemumgehung besteht darin, pip auf eine Version herunterzustufen, die kein SSL verwendet : easy_install pip==1.2.1. Dadurch verlieren Sie den Sicherheitsvorteil der Verwendung von SSL. Die eigentliche Lösung besteht darin, eine Python-Distribution zu verwenden, die mit einer neueren SSL-Bibliothek verknüpft ist.

Dougal
quelle
1
Danke Dougal, aber Pip 1.2.1 funktioniert auch nicht. - Würde es Ihnen etwas ausmachen, mich wissen zu lassen, wie ich meine Python-Distribution auf eine neuere SSL-Bibliothek aktualisieren kann?
Contentclown
Eigentlich habe ich gerade alles zum Arbeiten gebracht. Danke für deine Hilfe, Dougal!
Contentclown
7
@ user2348946 Was hast du gemacht, damit dies für die Menschen in Zukunft nützlich ist?
Dougal
1
@DannyStaple Ja, genau das habe ich vorgeschlagen. Natürlich ist die Verwendung einer Nicht-System-Installation von Python nicht sehr schwierig. Ich persönlich benutze Anaconda , das sich hervorragend für numerische Anwendungen eignet, aber für alles geeignet ist.
Dougal
1
@ user13107 Ja; Wie in den Kommentaren zur akzeptierten Antwort angegeben, benötigt PyPI jetzt TLS 1.2. Sie müssen Ihre Python-Installation aktualisieren.
Dougal
18

Eine weitere Ursache für SSL-Fehler kann eine schlechte Systemzeit sein. Zertifikate werden nicht validiert, wenn sie zu weit von der Gegenwart entfernt sind.

Pidge
quelle
Danke dir!! Das war die einzige Lösung, die für mich funktioniert hat. Die Uhr meines Servers war ausgeschaltet.
Adam Spires
6

Ich habe ein ähnliches Problem durch Hinzufügen der --trusted-host pypi.python.orgOption gelöst

Ruben
quelle
6

Um ein anderes Paket zu installieren, muss ich die neueste Version von pip verwenden, da das 9.0.1dieses SSL-Problem hat. Um das Pip für Pip selbst zu aktualisieren, muss ich zuerst dieses SSL-Problem lösen. Um aus dieser Endlosschleife herauszuspringen, finde ich nur diesen Weg, der für mich funktioniert.

  1. Die neueste Version von pip finden Sie auf dieser Seite: https://pypi.org/simple/pip/
  2. Laden Sie die .whlDatei der neuesten Version herunter .
  3. Verwenden Sie pip, um den neuesten pip zu installieren. (Verwenden Sie hier Ihre eigene neueste Version)

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

Jetzt ist der Pip die neueste Version und kann alles installieren.

Jianzhe Gu
quelle
5

Lösung - Installieren Sie ein Paket, indem Sie unten die vertrauenswürdigen Hosts markieren

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

Vorübergehende Lösung

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

Permanente Lösung - Aktualisieren Sie Ihren PIP (Problem mit Version 9.0.1) auf den neuesten Stand.

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
RollerCosta
quelle
3

macOS Sierra 10.12.6. Konnte nichts über pip installieren (Python über Homebrew installiert). Alle obigen Antworten haben nicht funktioniert.

Schließlich funktionierte das Upgrade von Python 3.5 auf 3.6.

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

Folgen Sie dann allen zusätzlichen Vorschlägen von Brew, dh überschreiben Sie den Link zu Python.

Apatsekin
quelle
1
Wenn Sie unter Mac OS 10.12 arbeiten, hängt Ihr ursprüngliches Problem möglicherweise tatsächlich mit der jüngsten TLS-Ablehnung von zusammen pip. Siehe diesen Beitrag für Details. piphat die Unterstützung älterer Sicherheitsprotokolle ab Version 10.12 eingestellt.
Anupam
3

Ich hatte das gleiche Problem. Ich habe gerade die Python von 2.7.0 auf 2.7.15 aktualisiert . Es löst das Problem.

Sie können hier herunterladen .

Günay Gültekin
quelle
Ich habe das gerade zum 10. Mal behoben. Obwohl Sie das Problem unter OSX sehr gut verstehen und wissen, was und wo der Fehler liegt, unterscheidet sich jede "Lösung" von der Vergangenheit. Diesmal geht die Abstimmung zur Installation von 2.7.15 unter OSX. Einfach und effektiv. Außerdem enthält die Veröffentlichung Hinweise zum SSL / OpenSSH-Problem. Prost und vielen Dank!
Marc
3

Wie oben von blackjar gepostet, haben die folgenden Zeilen für mich funktioniert

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

Sie müssen alle drei geben --trusted-host options. Ich habe es nur mit dem ersten versucht, nachdem ich mir die Antworten angesehen hatte, aber so hat es bei mir nicht funktioniert.

abhi
quelle
2

Sie können auch conda verwenden, um Pakete zu installieren: Siehe http://conda.pydata.org

conda install nltk

Der beste Weg, um conda zu verwenden, ist das Herunterladen von Miniconda, aber Sie können es auch versuchen

pip install conda
conda init
conda install nltk
Travis Oliphant
quelle
7
Um fair zu sein, wenn pip installes nicht funktioniert, ist die Empfehlung, einen anderen Paketmanager über pip zu installieren, ... na ja, wissen Sie.
Dave Newton
Das hat bei mir tatsächlich funktioniert. Ich habe anaconda installiert, nachdem ich Python installiert habe. Ich hatte keine Ahnung, dass Anaconda einen eigenen Installer hat, bis ich dies gelesen habe. Das ist also die Antwort, die für mich funktioniert hat. Travis 'Kommentar befasst sich mit der Henne / Ei-Sache, weil er die Installation von Miniconda empfohlen hat.
Michael Potter
2

Für mich funktioniert die neueste Pip (1.5.6) gut mit dem unsicheren nltk-Paket, wenn Sie nur sagen, dass es in Bezug auf die Sicherheit nicht so wählerisch sein soll:

pip install --upgrade --force-reinstall --allow-all-external --allow-unverified ntlk nltk
Kochfelder
quelle
Dies ist eine alte Antwort. Auf welcher Version pipbist du?
Kochfelder
1
Ich denke der letzte. Ich glaube, ich habe das Problem gelöst, indem ich alles deinstalliert habe (Python 2.7, pip usw.) und alles immer wieder neu installiert habe
DaniPaniz
2

versucht

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

und schließlich geklappt, nicht ganz verstehen, warum die Domain pypi.python.org geändert wird.

Blackjar
quelle
1

Wenn Sie eine Verbindung über einen Proxy herstellen, führen Sie diese aus export https_proxy=<your_proxy>(unter Unix oder Git Bash) und wiederholen Sie die Installation.

Wenn Sie Windows Cmd verwenden, ändert sich dies zu set https_proxy=<your_proxy>.

lostsoul29
quelle
1

Ich habe unter Windows 7 Folgendes getan, um dieses Problem zu lösen.

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

Der --trusted-Host scheint das SSL-Problem zu beheben und * bedeutet jeden Host.

Natürlich funktioniert dies nicht, weil Sie andere Fehler erhalten, da es keine Version gibt, die die Anforderung beautifulsoup4 erfüllt, aber ich denke nicht, dass dieses Problem mit der allgemeinen Frage zusammenhängt.

user9175040
quelle
1

Einfach deinstallieren und neu installieren von Pip-Paketen, es wird für euch funktionieren.

Mac OS Version: High Sierra 10.13.6

Python-Version: 3.7

Also habe ich den älteren Pip deinstalliert und die neueste Version 10.0.0 installiert, indem ich Folgendes eingegeben habe:

python3 -m pip uninstall pip setuptools

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

Jetzt war mein Problem gelöst. Wenn Sie python2 verwenden, können Sie python3 durch python ersetzen. Ich hoffe es funktioniert auch bei dir.

Yash Patel
quelle
0

Wenn es nur um nltk geht, hatte ich einmal ein ähnliches Problem. Versuchen Sie die folgende Anleitung zur Installation. Installieren Sie NLTK

Wenn Sie sicher sind, dass es mit keinem anderen Modul funktioniert, haben Sie möglicherweise Probleme mit verschiedenen installierten Python-Versionen.

Oder probieren Sie es aus, um festzustellen, ob pip bereits installiert ist:

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

und sehen, ob es funktioniert.

akshayb
quelle
0

Ich habe dieses Problem mit den folgenden Schritten gelöst (auf sles 11sp2)

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

Hier sind die gleichen Schritte in Puppet (die auf allen Distributionen funktionieren sollten)

  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'],
  }
Spuder
quelle
0

Ich hatte dies mit PyCharm und das Upgrade von pip auf 10.0.1 brach pip mit dem Fehler "'main' nicht im Modul gefunden".

Ich könnte dieses Problem lösen, indem ich pip 9.0.3 installiere, wie in einem anderen Thread gezeigt. Dies sind die Schritte, die ich getan habe:

  1. 9.0.3-Version von pip von https://pypi.org/simple/pip/ heruntergeladen (da pip nicht zur Installation verwendet werden konnte).
  2. Installieren Sie pip 9.0.3 von tar.gz python -m pip installieren Sie pip-9.0.3.tar.gz

Danach fing alles an zu arbeiten.

Yuriy M.
quelle