Je suis très nouveau sur Python et j'essaie de > pip install linkchecker
le faire sous Windows 7. Quelques notes:
- l'installation de pip échoue, quel que soit le package. Par exemple,
> pip install scrapy
entraîne également l'erreur SSL. - L'installation Vanilla de Python 3.4.1 incluait le pip 1.5.6. La première chose que j'ai essayé de faire a été d'installer le linkchecker. Python 2.7 était déjà installé, il était fourni avec ArcGIS.
python
etpip
n'étaient pas disponibles à partir de la ligne de commande jusqu'à ce que j'aie installé 3.4.1. > pip search linkchecker
travaux. C'est peut-être parce que la recherche pip ne vérifie pas le certificat SSL du site.- Je suis dans un réseau d'entreprise mais nous ne passons pas par un proxy pour accéder à Internet.
- Chaque ordinateur d'entreprise (y compris le mien) possède une autorité de certification racine de confiance qui est utilisée pour diverses raisons, notamment l'activation de la surveillance du trafic TLS vers https://google.com . Je ne sais pas si cela a quelque chose à voir avec cela.
Voici le contenu de mon pip.log après exécution pip install linkchecker
:
Downloading/unpacking linkchecker
Getting page https://pypi.python.org/simple/linkchecker/
Could not fetch URL https://pypi.python.org/simple/linkchecker/: connection error: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:598)
Will skip URL https://pypi.python.org/simple/linkchecker/ when looking for download links for linkchecker
Getting page https://pypi.python.org/simple/
Could not fetch URL https://pypi.python.org/simple/: connection error: HTTPSConnectionPool(host='pypi.python.org', port=443): Max retries exceeded with url: /simple/ (Caused by <class 'http.client.CannotSendRequest'>: Request-sent)
Will skip URL https://pypi.python.org/simple/ when looking for download links for linkchecker
Cannot fetch index base URL https://pypi.python.org/simple/
URLs to search for versions for linkchecker:
* https://pypi.python.org/simple/linkchecker/
Getting page https://pypi.python.org/simple/linkchecker/
Could not fetch URL https://pypi.python.org/simple/linkchecker/: connection error: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:598)
Will skip URL https://pypi.python.org/simple/linkchecker/ when looking for download links for linkchecker
Could not find any downloads that satisfy the requirement linkchecker
Cleaning up...
Removing temporary dir C:\Users\jcook\AppData\Local\Temp\pip_build_jcook...
No distributions at all found for linkchecker
Exception information:
Traceback (most recent call last):
File "C:\Python34\lib\site-packages\pip\basecommand.py", line 122, in main
status = self.run(options, args)
File "C:\Python34\lib\site-packages\pip\commands\install.py", line 278, in run
requirement_set.prepare_files(finder, force_root_egg_info=self.bundle, bundle=self.bundle)
File "C:\Python34\lib\site-packages\pip\req.py", line 1177, in prepare_files
url = finder.find_requirement(req_to_install, upgrade=self.upgrade)
File "C:\Python34\lib\site-packages\pip\index.py", line 277, in find_requirement
raise DistributionNotFound('No distributions at all found for %s' % req)
pip.exceptions.DistributionNotFound: No distributions at all found for linkchecker
Réponses:
-----> pip installer la configuration de gensim --global http.sslVerify false
Installez simplement n'importe quel paquet avec l'instruction "config --global http.sslVerify false"
Vous pouvez ignorer les erreurs SSL en définissant
pypi.org
et enfiles.pythonhosted.org
tant qu'hôtes de confiance.Remarque : Au cours du mois d'avril 2018, l' index de package Python a été migré de
pypi.python.org
verspypi.org
. Cela signifie que les commandes "d'hôtes de confiance" utilisant l'ancien domaine ne fonctionnent plus.Fix permanent
Depuis la sortie de pip 10.0, vous devriez pouvoir résoudre ce problème de façon permanente juste en se mettant à niveau
pip
:Ou en le réinstallant simplement pour obtenir la dernière version:
(… Puis en cours
get-pip.py
d' exécution avec l'interpréteur Python approprié).pip install <otherpackage>
devrait juste fonctionner après cela. Sinon, vous devrez en faire plus, comme expliqué ci-dessous.Vous souhaiterez peut-être ajouter les hôtes de confiance et le proxy à votre fichier de configuration .
pip.ini
(Windows) oupip.conf
(unix)Solutions alternatives (moins sécurisées)
La plupart des réponses pourraient poser un problème de sécurité.
Deux des solutions de contournement qui aident à installer la plupart des packages python avec facilité seraient:
easy_install <package_name>
. Notez que certains packages ne seront pas trouvés ou donneront de petites erreurs.pip install wheel_package_name.whl
pour installer le package.la source
pip install --trusted-host pypi.python.org pypi_package
. L'utilisation--verbose
montre que sans--trusted-host
, la connexion HTTPS échoue, tandis que la même connexion HTTPS est tentée (pas HTTP) avec--trusted-host
mais elle réussit.pip install --trusted-host pypi.python.org pythonPackage
Vous pouvez spécifier un cert avec ce paramètre:
Voir: Documents »Guide de référence» pip
Si la spécification du certificat racine de votre entreprise ne fonctionne pas, le code cURL fonctionnera peut-être: http://curl.haxx.se/ca/cacert.pem
Vous devez utiliser un fichier PEM et non un fichier CRT. Si vous avez un fichier CRT, vous devrez convertir le fichier en PEM Il y a des rapports dans les commentaires que cela fonctionne maintenant avec un fichier CRT mais je n'ai pas vérifié.
Vérifiez également: SSL Cert Verification .
la source
pip.conf
fichier pour les avoir référencées en permanence sans spécifier la commandeLa réponse de kenorb est très utile (et géniale!).
Parmi ses solutions, c'est peut-être la plus simple:
--trusted-host
Par exemple, dans ce cas, vous pouvez faire
Le fichier pem (ou toute autre chose) n'est pas nécessaire.
la source
pip list --trusted-host pypi.python.org --outdated
Pour moi, le problème a été résolu en créant un dossier
pip
, avec un fichier:pip.ini
parC:\Users\<username>\AppData\Roaming\
exemple:À l'intérieur, j'ai écrit:
J'ai redémarré python, puis pip a fait confiance en permanence à ces sites et les a utilisés pour télécharger des packages.
Si vous ne trouvez pas le dossier AppData sur Windows, écrivez
%appdata%
dans l'explorateur de fichiers et il devrait apparaître.la source
Les réponses sont assez similaires et un peu déroutantes. Dans mon cas, les certificats dans le réseau de mon entreprise étaient en cause. J'ai pu contourner le problème en utilisant:
Comme vu ici . L'argument -vvv peut être omis si une sortie détaillée n'est pas requise
la source
Fix permanent
Par exemple:
la source
Pour résoudre ce problème une fois pour toutes, vous pouvez vérifier que vous disposez d'un
pip.conf
fichier.Voici où vous
pip.conf
devriez être, selon la documentation :À l'intérieur d'un virtualenv:
Votre
pip.conf
devrait ressembler à:pip install linkchecker
installélinkchecker
sans se plaindre après avoir créé lepip.conf
fichier.la source
pip
guide de l' utilisateur a été mis à jour depuis que j'ai posté cette réponse. J'ai mis à jour ma réponse pour macOS. Aide-t-il?brew
assurez-vous que vous utilisezpip3
et créez lepip.conf
as$HOME/.config/pip/pip.conf
. J'ai travaillé pour moi.Le moyen le plus simple que j'ai trouvé est de télécharger et d'utiliser la "DigiCert High Assurance EV Root CA" de DigiCert à https://www.digicert.com/digicert-root-certificates.htm#roots
Vous pouvez visiter https://pypi.python.org/ pour vérifier l'émetteur du certificat en cliquant sur l'icône de verrouillage dans la barre d'adresse, ou augmenter votre crédit geek en utilisant openssl:
La dernière valeur CN dans la chaîne de certificats est le nom de l'autorité de certification que vous devez télécharger.
Pour un effort ponctuel, procédez comme suit:
(la dernière ligne suppose que vous utilisez le shell bash) avant d'exécuter pip.
Pour le rendre réutilisable, placez DigiCertHighAssuranceEVRootCA.crt dans un endroit commun et exportez PIP_CERT en conséquence dans votre ~ / .bashrc.
la source
Vous avez les possibilités suivantes pour résoudre le problème avec
CERTIFICATE_VERIFY_FAILED
:--index-url=http://pypi.python.org/simple/
).Utilisez
--cert <trusted.pem>
ouCA_BUNDLE
variable pour spécifier un autre ensemble d'autorités de certification.Par exemple, vous pouvez accéder à l'URL défaillante à partir du navigateur Web et importer le certificat racine dans votre système.
Exécutez
python -c "import ssl; print(ssl.get_default_verify_paths())"
pour vérifier l'actuel (valider s'il existe).SSL_CERT_DIR
,SSL_CERT_FILE
) qui peuvent être utilisés pour spécifier différentes bases de données de certificats PEP-476 .--trusted-host <hostname>
pour marquer l'hôte comme approuvé.verify=False
pourrequests.get
(voir: Vérification du certificat SSL ).--proxy <proxy>
pour éviter les vérifications de certificats.En savoir plus sur: wrapper TLS / SSL pour les objets socket - Vérification des certificats .
la source
Réglez l'heure et la date correctement!
Pour moi, il est apparu que ma date et mon heure étaient mal configurées sur Raspberry Pi. Le résultat a été que toutes les connexions SSL et HTTPS ont échoué, en utilisant le serveur https://files.pythonhosted.org/ .
Mettez-le à jour comme ceci:
Ou directement avec par exemple le temps de Google:
Réf .: https://superuser.com/a/635024/935136
la source
J'ai récemment rencontré ce problème en raison du filtre de contenu Web de mon entreprise qui utilise sa propre autorité de certification pour filtrer le trafic SSL. PIP ne semble pas utiliser les certificats CA du système dans mon cas, produisant l'erreur que vous mentionnez. La rétrogradation de PIP vers la version 1.2.1 a présenté son propre ensemble de problèmes plus tard, donc je suis revenu à la version originale fournie avec Python 3.4.
Ma solution de contournement est assez simple: utiliser
easy_install
. Soit il ne vérifie pas les certificats (comme l'ancienne version PIP), soit il sait utiliser les certificats système car il fonctionne à chaque fois pour moi et je peux toujours utiliser PIP pour désinstaller les packages installés avec easy_install.Si cela ne fonctionne pas et que vous pouvez accéder à un réseau ou à un ordinateur qui n'a pas le problème, vous pouvez toujours configurer votre propre serveur PyPI personnel: comment créer un index de référentiel pypi local sans miroir?
J'ai presque fait ça jusqu'à ce que j'essaie de l'utiliser
easy_install
comme un dernier effort de fossé.la source
pip
de l'utiliser avec--cert MyCompanyRootCA.crt
.Vous pouvez essayer de contourner l'erreur SSL en utilisant http au lieu de https. Bien sûr, ce n'est pas optimal en termes de sécurité , mais si vous êtes pressé, cela devrait faire l'affaire:
la source
Could not fetch URL http://pypi.python.org/simple/linkchecker/: connection error: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:598)
Les réponses à utiliser
travail. Mais vous devrez vérifier s'il y a des redirections ou des caches
pip
. Sous Windows 7 avecpip 9.0.1
, je devais exécuterVous pouvez les trouver avec le drapeau détaillé.
la source
J'ai installé pip 1.2.1 avec easy_install et mis à niveau vers la dernière version de pip (6.0.7 à l'époque) qui est capable d'installer des packages dans mon cas.
la source
Vous avez 4 options:
Utiliser un certificat comme paramètre
Utilisation d'un certificat dans un
pip.conf
Créez ce fichier:
et ajoutez ces lignes:
Ignorer le certificat et utiliser HTTP
Ignorer le certificat et utiliser HTTP dans un pip.conf
Créez ce fichier:
et ajoutez ces lignes:
La source
la source
Tout d'abord,
N'a pas travaillé pour moi. J'ai continué à recevoir l'erreur CERTIFICATE_VERIFY_FAILED. Cependant, j'ai remarqué dans les messages d'erreur qu'ils faisaient référence au site 'pypi.org'. J'ai donc utilisé ce nom d'hôte de confiance au lieu de pypi.python.org. Cela m'a presque amené là-bas; le chargement échouait toujours avec CERTIFICATE_VERIFY_FAILED, mais à un stade ultérieur. Trouver la référence au site Web qui échouait, je l'ai inclus en tant qu'hôte de confiance. Ce qui a finalement fonctionné pour moi était:
la source
Je ne sais pas si cela est lié, mais j'ai eu un problème similaire qui a été résolu en copiant ces fichiers depuis Anaconda3 / Library / bin vers Anaconda3 / DLL:
libcrypto-1_1-x64.dll
libssl-1_1-x64.dll
la source
J'ai eu le même problème en essayant
pip install ftputil
avec ActivePython 2.7.8, ActivePython 3.4.1 et "stock" Python 3.4.2 sur Windows 7 Enterprise 64 bits. Toutes les tentatives ont échoué avec les mêmes erreurs que OP.Contournement du problème pour Python 3.4.2 en rétrogradant vers pip 1.2.1:
easy_install pip==1.2.1
(voir https://stackoverflow.com/a/16370731/234235 ). Le même correctif a également fonctionné pour ActivePython 2.7.8.Le bug, signalé en mars 2013, est toujours ouvert: https://github.com/pypa/pip/issues/829 .
la source
Rien sur cette page ne fonctionnait pour moi jusqu'à ce que j'utilise l'option --verbose pour voir qu'il voulait accéder à files.pythonhosted.org plutôt qu'à pypi.python.org:
Vérifiez donc l'URL sur laquelle il échoue réellement via l'option --verbose.
la source
J'ai résolu ce problème en supprimant mon pip et en installant l'ancienne version de pip: https://pypi.python.org/pypi/pip/1.2.1
la source
include the essential parts of the answer here
être un lien vers un fichier binaire ...?Vous pouvez essayer ceci pour ignorer "https":
la source
pip install --trusted-host pypi.python.org --upgrade pip –
Une solution ( pour Windows ) consiste à créer un fichier appelé
pip.ini
sur le%AppData%\pip\
dossier (créer le dossier s'il n'existe pas) et insérer les détails suivants:... puis nous pouvons exécuter l'instruction d'installation:
Une autre option consiste à installer le package en utilisant des arguments pour le proxy et le certificat ...
Pour convertir les
*.cer
fichiers de certificat au*.pem
format requis , exécutez l'instruction suivante:J'espère que cela aide quelqu'un!
la source
pip3.6 config set global.cert '/<path>/server.crt'
Dans mon cas, cela était dû à la signature d'un certificat SSL par l'autorité de certification interne de mon entreprise. L'utilisation de solutions de contournement comme
pip --cert
n'a pas aidé, mais le package suivant:Voir: https://pypi.org/project/pip-system-certs/
la source
pip_system_certs
complètement cassé mon environnement Python, et pour cette raison, ce n'est pas une bonne réponse. N'installez pas pip_system_certs. Voir stackoverflow.com/questions/27835619/… pour plus d'informations.pour moi, c'est parce que précédemment j'exécute un script qui définit le proxy (sur fiddler), la réouverture de la console ou le redémarrage corrige le problème.
la source
Récemment, j'ai rencontré le même problème en python 3.6 avec Visual Studio 2015. Après avoir passé 2 jours, j'ai obtenu la solution et son bon fonctionnement pour moi.
J'ai obtenu une erreur ci-dessous lors de l'installation de numpy à l'aide de pip ou de visual studio. Collecting numpy Impossible de récupérer l'URL https://pypi.python.org/simple/numpy/ : un problème est survenu lors de la confirmation du certificat SSL: [SSL: CERTIFICATE_VERIFY_FAILED] échec de la vérification du certificat (_ssl.c: 748) - ignorer Impossible de trouver une version qui satisfait à l'exigence numpy (à partir des versions:) Aucune distribution correspondante trouvée pour numpy
Résolution:
Pour Windows OS
[global]
trusted-host = pypi.python.org Enregistrez et fermez le fichier. Maintenant, installez en utilisant pip / visual studio, cela fonctionne bien.
la source
Dans mon cas, j'exécutais Python dans l'image minimale de docker alpin. Il manquait les certificats d'autorité de certification racine. Réparer:
apk update && apk add ca-certificates
la source
La réponse de Vaulstein m'a aidé.
Je n'ai trouvé le fichier pip.ini nulle part sur mon PC. Il en est de même pour ce qui suit.
Ou tapez simplement% AppData% dans l'explorateur Windows.
Créez un dossier appelé pip à l'intérieur de ce dossier appdata.
Dans ce dossier pip que vous venez de créer, créez un simple fichier texte appelé pip.ini
Après les paramètres de configuration suivants dans ce fichier à l'aide d'un simple éditeur de votre choix.
fichier pip.ini:
Vous devriez maintenant être prêt à partir.
la source
J'ai fait face à un problème similaire. La solution qui a fonctionné pour moi 1) désinstaller python 2.7 2) supprimer le dossier python27 3) réinstaller le dernier python
la source
Pour moi, aucune des méthodes suggérées n'a fonctionné - en utilisant cert, HTTP, un hôte de confiance.
Dans mon cas, le passage à une version différente du package a fonctionné (paho-mqtt 1.3.1 au lieu de paho-mqtt 1.3.0 dans ce cas).
Il semble que le problème soit spécifique à cette version du package.
la source
Vous pouvez avoir ce problème si certains certificats sont manquants dans votre system.eg sur opensuse install ca-certificats-mozilla
la source