Que faire si un avertissement de plate-forme non sécurisée apparaît lors de l'exécution de Python

Mise à jour du 12/01/2016

--Ajout de "requêtes [sécurité]".

introduction

Après avoir installé un nouveau Python ou mis à jour un package, pensez-vous que l'avertissement suivant apparaît lorsque vous exécutez Python? (J'ai été surpris de recevoir un avertissement comme celui-ci lorsque j'ai mis à jour le package Python de SoftLayer et essayé d'exécuter une commande pour la première fois depuis un moment). Dans cet article, je vais vous montrer comment se débarrasser de cet avertissement d'avertissement de plate-forme non sécurisée.

# python test1.py
/usr/lib/python2.6/site-packages/requests/packages/urllib3/util/ssl_.py:79: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.
  InsecurePlatformWarning
(Omis ci-dessous)

# sl vs list
/usr/lib/python2.6/site-packages/requests/packages/urllib3/util/ssl_.py:79: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.
  InsecurePlatformWarning
(Omis ci-dessous)

Solution 1. Rétablissez la version 2.5.3 ou antérieure du package de requêtes.

Comme vous pouvez le voir à partir du lien ci-dessous, il est implémenté pour que ce message d'avertissement apparaisse dans requests-2.6.0 ou version ultérieure. Une solution simple consiste donc à utiliser pip pour ramener les requêtes en 2.5.3 en spécifiant la version. http://fossies.org/diffs/requests/2.5.3_vs_2.6.0/requests/packages/urllib3/util/ssl_.py-diff.html

# pip list | grep requests
requests (2.6.2)
# pip install requests==2.5.3
# pip list | grep requests
requests (2.5.3)

Au fait, si vous essayez d'introduire un nouveau package ou une mise à jour, les requêtes qui ont été différées peuvent être mises à jour en même temps (j'espère que vous pourrez rétrograder plus tard) si vous la reporter dans les requêtes 2.5.3. Si vous souhaitez effectuer une nouvelle installation ou une nouvelle mise à jour de package en une seule fois, vous pouvez procéder comme suit.

Exemple d'introduction d'un nouveau package SoftLayer


# pip install SoftLayer requests==2.5.3

Exemple de mise à jour d'un package SoftLayer


# pip install --upgrade SoftLayer requests==2.5.3

Solution 2. Introduisez les requêtes [sécurité].

http://stackoverflow.com/questions/29099404/ssl-insecureplatform-error-when-using-requests-package

requests[security]Introduction de


# yum install -y openssl-devel python-devel libffi-devel
# pip install 'requests[security]'

Solution 3. Changez la version de Python en 2.7.9 ou version ultérieure.

Si vous modifiez la version Python en 2.7.9 ou version ultérieure, cet avertissement disparaîtra. Cependant, selon le système d'exploitation, Python est utilisé au niveau du système, par exemple, CentOS et yum de RHEL sont implémentés en Python. Par conséquent, je pense personnellement que changer la version Python au niveau du système n'est pas très souhaitable.

Afin de coexister avec le nouveau progiciel, les systèmes CentOS et RHEL fournissent un composant appelé Collections de logiciels. Vous pouvez l'utiliser pour introduire Python 2.7 ou Python 3.3. http://qiita.com/murachi1208/items/202bff84964188619f57 http://www.idcf.jp/blog/cloud/software-collections-for-centos-6/

En réalité, je pense qu'il est préférable d'utiliser pyenv ou virtualenv, qui peuvent changer de version selon les besoins au niveau de l'utilisateur. Personnellement, c'est très utile. Installer et compiler Python individuellement est assez compliqué, et je veux parfois essayer différentes versions. Comment utiliser ... Il semble qu'il y ait autant de matériaux que vous pouvez si vous google y compris Qiita, donc je vais l'omettre cette fois. https://github.com/yyuu/pyenv-virtualenv http://qiita.com/yuta_h3/items/2988c4d0811bf8c344c0 http://qiita.com/search?page=2&q=pyenv&sort=rel&utf8=%E2%9C%93

Lien de référence

https://urllib3.readthedocs.org/en/latest/security.html?highlight=insecureplatformwarning http://stackoverflow.com/questions/29134512/insecureplatformwarning-a-true-sslcontext-object-is-not-available-this-prevent

Recommended Posts

Que faire si un avertissement de plate-forme non sécurisée apparaît lors de l'exécution de Python
Que faire lorsqu'un avertissement apparaît autour de l'intégration de Python dans CheckHealth de Neovim
Que faire si vous obtenez un avertissement "Mauvaise plateforme Python" lors de l'utilisation de Python avec l'EDI NetBeans
Que faire lorsque "SSL: CERTIFICATE_VERIFY_FAILED _ssl.c: 1056" apparaît en Python
[Mémorandum] Que faire lorsqu'un avertissement apparaît après l'exécution de pip list
Que faire si aucune documentation Python trouvée pour ... apparaît dans pydoc
Que faire lorsque l'avertissement "L'environnement est cohérent ..." apparaît dans l'environnement Anaconda
[Go 1.13] Que faire lorsque la disposition de répertoire inattendue: apparaît
[openpyxl] Que faire lorsque IllegalCharacterError apparaît dans pandas.DataFrame.to_excel
Que faire si vous obtenez une erreur lors de l'installation de python avec pyenv
Que faire lorsque "impossible d'importer le nom xxx" [Python]
Que faire lorsque [Errno 2] Aucun fichier ou répertoire de ce type n'apparaît en Python
Que faire si vous obtenez une erreur OpenSSL lors de l'installation de Python 2 avec pyenv
[Python] Que faire quand Aucun module nommé "pyproj.datadir" n'apparaît lors de la création d'Exe avec PyInstaller
Que faire si vous obtenez une erreur lors de l'importation de matplotlib en Python (Mac)
Que faire lorsque ʻarguments [0] .scrollIntoView (); `échoue dans python sélénium
Que faire si l'installation du package échoue lors du déploiement sur heroku
OSError: [Errno 40] Que faire lorsque Message trop long apparaît
Que faire lorsque "En-tête HTTP_HOST non valide" apparaît dans Django
Que faire quand Ubuntu plante
Que faire si yum casse
Que faire avec la sortie de PYTHON?
Que faire si vous obtenez une erreur lors de l'exécution de "certbot renouveler" dans l'environnement CakePHP
Que faire si Python ne fonctionne pas sur Git pour Windows
Que faire si vous ne pouvez pas installer pyaudio avec pip #Python
Que faire si vous obtenez moins zéro en Python
Que faire lorsque python dit "erreur fatale: fichier 'stdio.h' introuvable"
Que faire si PyAudio ne peut pas être installé sur Python 3.7, 3.8, 3.9 sous Windows
Que faire lorsque ModuleNotFoundError: Aucun module nommé'XXX 'ne se produit en Python
Que faire lorsque le type de valeur est ambigu en Python?
Que faire s'il y a un décimal dans python json .dumps
Que faire si vous ne parvenez pas à envoyer un e-mail à Yahoo avec Python.
Que faire si vous ne pouvez pas utiliser la recherche de grille de sklearn en Python
Que faire lorsque pyinstaller: erreur: argument --add-binary: valeur add_data_or_binary invalide: apparaît
[Docker] Que faire en cas d'erreur Impossible de trouver le git binaire apparaît
[Python] Que faire lorsqu'une erreur liée à l'authentification SSL est renvoyée
Que faire si le serveur ne démarre pas avec python manage.py runserver
Que faire si une erreur se produit lors de l'importation de numpy avec VScode
Que faire si vous obtenez une erreur lors du chargement de mnist
Que faire lorsqu'un message d'avertissement est affiché dans la liste des pip
Que faire si pipreqs aboutit à UnicodeDecodeError
[Python] Ce que j'ai fait pour faire un test unitaire
Que faire si mod_fcgid ne peut pas résoudre UnicodeEncodeError
Que faire si les rails ne fonctionnent pas
Que faire si pip ne peut pas être installé
Que faire quand une PermissionError dans tempfile.mkstemp se produit
Que faire si l'autocomplete-python d'atome ne fonctionne pas
Ce que j'ai fait lors de la mise à jour de Python 2.6 vers 2.7
Que faire pour obtenir une feuille de calcul Google en Python
Que faire si Docker-sync cesse soudainement de fonctionner
Que faire si CERTIFICATE_VERIFY_FAILED se produit lorsque nltk.download () est effectué sur macOS pyhon
[python] Que faire si vous obtenez une erreur avec send_keys dans le chrome sans tête