Python
Windows
Wireshark
GPU
ntp

GPU搭載端末利用顛末(1日目・2日目)'SSLError(SSLError(1, '[SSL: CERTIFICATE_VERIFY_FAIL ED] certificate verify failed (_ssl.c:777)'),)'

PythonでGPUを利用した処理があると知った。
「ゼロから作るDeep Learning 2自然言語処理編」を読む前に読んで置くとよい資料とプログラム
https://qiita.com/kaizen_nagoya/items/537b1810265bbbc70e73

急遽、知人が所蔵しているGPU搭載機材を借りてきた。

週末までの1週間。

月曜は、まずキーボード、マウス、ディスプレイを用意。

1日目(午前のみ)

課題1 ディスプレイの端子の形状が合わない。

RGBからの変換器を以前購入したものがあり繋がった。
解決所要時間0.5H

課題2 ネットワークが繋がらない。(物理)

MACアドレス認証をしている。
MACアドレス認証を受けたUSB-Ether機材で暫定的に接続

ネットに繋がっていないため、USB-Etherのデバイスドライバが入らない。

他の機材でSDカードに読み込み、USB-SDカード読み書き器で書き込み。
幸い、USB-SDカード読み書き器は別のデバイスドライバは要らなかった。

解凍して接続。

解決所要時間 1時間

課題3 ネットワークが繋がらない(論理)。

ブラウザを立ち上げてもネットを表示しない。
インタネット接続する設定になっていなかった。

コントロールパネルを開け、ネットワークの設定をやり直した。

IPアドレスを近隣の機材を見て、類似の固定で設定したり、
DNSサーバを近隣の機材でnslookupして、同じ設定にしたり、
約30通りの変更をした。

あるサイトに接続するとつながるが、別のサイトには繋がらない状態になった。
ここまでの所要時間2H

いつまでやっていても切りがない。しかし、Python(Anaconda)をいれて、GPUを使うのが目的。

課題4 Python3が入っていない。

他の機材でPython3をダウンロードし、SDカードでいれる。
複写、解凍して導入。

同時に、利用するPythonのプログラム2種類もダウンロードしてSDカードでいれる。複写、解凍して導入。

Pythonのプログラム10個程度動作確認。

所要時間 1H

課題5 pip installがうまく機能しない。

pythonでjanomeを使おうとしたら、ネット接続が十分でないため下記エラー。

ネットワーク管理者とも相談。明日、wiresharkを導入し調べることに。

WindowsPrompt
>pip install janome
Collecting janome
  Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None))
 after connection broken by 'SSLError(SSLError(1, '[SSL: CERTIFICATE_VERIFY_FAIL
ED] certificate verify failed (_ssl.c:777)'),)': /simple/janome/
  Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None))
 after connection broken by 'SSLError(SSLError(1, '[SSL: CERTIFICATE_VERIFY_FAIL
ED] certificate verify failed (_ssl.c:777)'),)': /simple/janome/
  Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None))
 after connection broken by 'SSLError(SSLError(1, '[SSL: CERTIFICATE_VERIFY_FAIL
ED] certificate verify failed (_ssl.c:777)'),)': /simple/janome/
  Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None))
 after connection broken by 'SSLError(SSLError(1, '[SSL: CERTIFICATE_VERIFY_FAIL
ED] certificate verify failed (_ssl.c:777)'),)': /simple/janome/
  Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None))
 after connection broken by 'SSLError(SSLError(1, '[SSL: CERTIFICATE_VERIFY_FAIL
ED] certificate verify failed (_ssl.c:777)'),)': /simple/janome/
  Could not fetch URL https://pypi.python.org/simple/janome/: There was a proble
m confirming the ssl certificate: HTTPSConnectionPool(host='pypi.python.org', po
rt=443): Max retries exceeded with url: /simple/janome/ (Caused by SSLError(SSLE
rror(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:777)
'),)) - skipping
  Could not find a version that satisfies the requirement janome (from versions:
 )
No matching distribution found for janome

記録して今日の別の作業に従事。
所要時間 1H

2日目(午前のみ)

Wireshark導入

他の機材でWiresharkをダウンロードし、 SDカードに保存して複写。
現在のネットの調子は、ダウンロード機能が禁止になっている。

コントロールパネルで、1箇所、ダウンロード禁止の項目を許可にしてある。もう一箇所あるのかもしれない。

(USB CAPという機能があることに気が付いた。)

Wiresharkの導入。
Windows 再起動。(再起動中は別の機材で作業しているため、無駄時間には計算しない。作業時間には含める。)
所要時間0.5H

Wireshark計測

Wiresharkを起動し、pip install実行。
区切りのところで測定停止。

その機材からはうまくネットにあげられない。SDカードに保存して、別の機材からUp
所要時間1H(この報告記載時間含む)
wire.png

ネット検索

「SSLError(SSLError(1, '[SSL: CERTIFICATE_VERIFY_FAIL ED] certificate verify failed」検索

python3で、ssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:777)を解決したい
https://teratail.com/questions/105914

SSL証明書が正しくないサイトに対してPythonでアクセスする
http://shinespark.hatenablog.com/entry/2015/12/06/100000

Python requestsのエラー処理
http://sierweb転職.xyz/2017/11/13/python-requests-exceptions-sslerror-httpsconnectionpoolhostpublications-usa-gov-port443-max-retries-exceeded-with-url-epublicationsfoiafoia-htm-caused-by-sslerrorsslerror1-ssl-c/

これらはPythonの機能との関係。
今の現象はWindowsの認証機能の関係。

検索作業 0.5Hで中断。

IEのUpgrade

ブラウザがサポート外だった。
IE 11を推奨しているためIE11を導入。

コントロールパネルを操作して、直接ダウンロードできる状態に。

導入後Windows再起動。
所要時間0.5H

IE11でのネットワーク設定

設定する度に、Windowsの再起動が必要。
他の作業をしながら横で作業。

その作業中の機材でここに記録。

「閲覧の履歴の削除」で全ての一時ファイルと履歴とCookieを削除して見る。

削除したが同じだった。

「証明書を削除」

証明書を管理する道具を有効にする。
期限の切れた証明書を削除して見た。

再起動。0.5H

時刻同期

時間が合っていなかった。
インタネット接続していない機材だった。
NTPの設定はしていない。
時間もある事情で半年前。
時間NTP設定。

```shell-session:windows prompt

pip install janome
```
無事導入。

動いた。0.5H

2日目(午後)

pip install cupyでエラーが出た
https://qiita.com/kaizen_nagoya/items/19a66d86cd7eaf733a3e

他の機材での現象

python 動かしていて、コンピュータがうるさくなってきたら(mac, linux編)
https://qiita.com/kaizen_nagoya/items/0a774078aa50dbd22af0

まとめ

わかったこと

因果関係を考えるより、原因対策関係を整理することが大事。(この記事を含む。

わからなかったこと

Windowsの設定多数。

よかったこと

動いた。

あらためること

時刻同期が専門です。システムの設定は時刻同期から始めます。(もし、そうしてたらこのエラーに遭遇していなかった。何がよかったことか分からないかも。)

参考文献

マルチホーミングにおける端末間経路選択のための片方向遅延差測定方式(ネットワーク)
小川 清, 澤井 新, 飯田 登, 萬代 雅希, 渡辺 尚
電子情報通信学会論文誌. B, 通信 88(11) 2251-2262 2005年11月
https://ci.nii.ac.jp/naid/110003502049

端末間経路選択のための片方向遅延差測定方式, 静岡大学, 小川清, 2005年9月

Windows10にCUDA8.0とPyCUDAをインストールしてテストが動くまで
https://qiita.com/ryo-yamaoka/items/5e09c2f2f0a24fce3282

GPUありWindowsでTensorFlowを使う
https://qiita.com/hiraokusoy/items/fa01f9fc7eccbe299b89

windows10でtensorflow-gpuをインストール(Anaconda環境)
https://qiita.com/aira002/items/f378e2cf883afa53526d

Windows10:KerasでGPUを使用する環境構築のTip's(TensorFlow)
https://qiita.com/maemori/items/71ddec3ada7f51113d88

TensorFlowが正式にWindowsサポートしてGPUが使えたので試してみた
https://qiita.com/tilfin/items/24e9491eb8a4ce42eea6

オフラインPC(Windows10)にchainer環境構築(with GPU)
https://qiita.com/kappanda/items/a6c8f5a2847e8cd2eb67

文書履歴

ver 0.10 20180409 初稿 1日目(午前)
ver 0.20 20180410 2日目(午前) 動作確認
ver 0.21 20180411 2日目(午後)URL追記