31279


Centos7でpythonを実行すると下記の warning が表示されます。  
pythonのアップデート必要というメッセージが表示されます。  
2.7.5アップデート済みだと思います。  
もし分かる方いれれば、教えていただけるとありがたいです。  
よろしくお願いします。

[code]

    [root@localhost デスクトップ]# python cuatro.py
    /usr/lib/python2.7/site-packages/requests/packages/urllib3/util/ssl_.py:334: SNIMissingWarning: An   HTTPS request has been made, but the SNI (Subject Name Indication) extension to TLS is not available on this platform. This may cause the server to present an incorrect TLS certificate, which can cause validation failures. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
    SNIMissingWarning
    /usr/lib/python2.7/site-packages/requests/packages/urllib3/util/ssl_.py:132:InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
    InsecurePlatformWarning
    
    [root@localhost デスクトップ]# python
    Python 2.7.5 (default, Jun 17 2014, 18:11:42) 
    [GCC 4.8.2 20140120 (Red Hat 4.8.2-16)] on linux2
    Type "help", "copyright", "credits" or "license" for more information.
    
[/code]

[![pythonのエラーについて](https://i.stack.imgur.com/ko07P.png)](https://i.stack.imgur.com/ko07P.png)


CC BY-SA 3.0
2016-12-21T01:41:39.543
31278
2016-12-21T07:15:59.333
2016-12-21T07:15:59.333
18859
18859
question
python
python 2.7.5 の requests モジュールを用いたら warning が表示される理由は？


`cuatro.py` でおそらく `requests`
モジュールを使っているのだと思いますが、このメッセージはrequestsが利用しているurllib3が出しています。  
urllib3はHTTPS通信でPythonのSSLモジュールを使用していますが、Python-2.7.5に組み込まれているSSLモジュールは古いので、この
`InsecurePlatformWarning` 警告が表示されています。

警告で提示されているURLの先を読むと、2つのことが書かれています

  1. Python-2.7.9 以降を使おう
  2. pyOpenSSLをインストールしよう: `pip install urllib3[secure]`

このどちらか、または両方を行う必要があります。  
２については、 `cuatro.py` が直接依存しているのがrequestsなので、 `pip install requests[security]`
と書いてもOKです。

1については、CentOSで標準で提供されていないバージョンのPythonをインストールする方法を調べてみてください。[EPEL](https://fedoraproject.org/wiki/EPEL)リポジトリや[REMI](http://rpms.famillecollet.com/)リポジトリを使う方法もありますし、[Software
Collections](https://www.softwarecollections.org/en/)を使う方法もあります。他にも、自分でPythonをビルドする、Anacondaやpyenvを使う、など目的と状況に応じてやりかたは色々ありそうです（別の話題になるので詳細は割愛します）


CC BY-SA 3.0
2016-12-21T03:02:18.653
31279
2016-12-21T03:02:18.653
806
31278
answer