Update 2016/01/12
Denken Sie nach der Installation eines neuen Python oder der Aktualisierung eines Pakets jemals, dass die folgende Warnung angezeigt wird, wenn Sie Python ausführen? (Ich war überrascht, eine solche Warnung zu erhalten, als ich das Python-Paket von SoftLayer aktualisierte und zum ersten Mal seit einiger Zeit versuchte, einen Befehl auszuführen.) In diesem Artikel werde ich Ihnen zeigen, wie Sie diese Warnung zur Warnung vor unsicherer Plattform entfernen können.
# 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
(Unten weggelassen)
# 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
(Unten weggelassen)
Wie Sie unter dem folgenden Link sehen können, ist es so implementiert, dass diese Warnmeldung in Anfragen 2.6.0 oder höher angezeigt wird. Eine einfache Lösung besteht darin, pip zu verwenden, um die Anforderungen durch Angabe der Version wieder auf 2.5.3 zu ändern. 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)
Übrigens, wenn Sie versuchen, ein neues Paket einzuführen oder ein Upgrade durchzuführen, werden die zurückgestellten Anforderungen möglicherweise gleichzeitig aktualisiert (ich hoffe, Sie können später ein Downgrade durchführen), wenn Sie es in den Anforderungen 2.5.3 verschieben. Wenn Sie eine Neuinstallation oder ein Paketupdate auf einmal durchführen möchten, können Sie wie folgt vorgehen.
Beispiel für die Einführung eines neuen SoftLayer-Pakets
# pip install SoftLayer requests==2.5.3
Beispiel für die Aktualisierung eines SoftLayer-Pakets
# pip install --upgrade SoftLayer requests==2.5.3
http://stackoverflow.com/questions/29099404/ssl-insecureplatform-error-when-using-requests-package
requests[security]Einführung von
# yum install -y openssl-devel python-devel libffi-devel
# pip install 'requests[security]'
Wenn Sie die Python-Version auf 2.7.9 oder höher ändern, wird diese Warnung ausgeblendet. Abhängig vom Betriebssystem wird Python jedoch auf Systemebene verwendet. Beispielsweise sind CentOS und yum von RHEL in Python implementiert. Daher denke ich persönlich, dass das Ändern der Python-Version auf Systemebene nicht sehr wünschenswert ist.
Um mit dem neuen Softwarepaket koexistieren zu können, bieten CentOS- und RHEL-Systeme eine Komponente namens Software Collections an. Sie können dies verwenden, um Python 2.7 oder Python 3.3 einzuführen. http://qiita.com/murachi1208/items/202bff84964188619f57 http://www.idcf.jp/blog/cloud/software-collections-for-centos-6/
In der Realität denke ich, dass es besser ist, pyenv oder virtualenv zu verwenden, mit denen die Versionen je nach Benutzerebene entsprechend gewechselt werden können. Persönlich ist es sehr nützlich. Das individuelle Installieren und Kompilieren von Python ist ein ziemlicher Aufwand, und ich möchte manchmal verschiedene Versionen ausprobieren. Wie man es benutzt ... Es scheint, dass es so viele Materialien wie möglich gibt, wenn Sie googeln, einschließlich Qiita, also werde ich es dieses Mal weglassen. 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
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