MNISTチュートリアルを実行するときにdateutilのバグを踏んだ
TensorflowのMNISTチュートリアルを実行しようとしたときにエラーで落ちた。 たぶん同じバグを踏む人は多いと思うので、メモがてら共有。
発生条件
どうやらチュートリアル用のMNISTサンプルをimportするときに発生しているみたい。
from tensorflow.examples.tutorials.mnist import input_data
自分のPython環境はAnacondaです。
$ python -V Python 3.5.2 :: Anaconda custom (64-bit)
エラー内容
ちょっと長いので省略して書くが、以下のような内容で落ちる。
$ python main.py I tensorflow/stream_executor/dso_loader.cc:128] successfully opened CUDA library libcublas.so locally I tensorflow/stream_executor/dso_loader.cc:128] successfully opened CUDA library libcudnn.so locally I tensorflow/stream_executor/dso_loader.cc:128] successfully opened CUDA library libcufft.so locally I tensorflow/stream_executor/dso_loader.cc:128] successfully opened CUDA library libcuda.so.1 locally I tensorflow/stream_executor/dso_loader.cc:128] successfully opened CUDA library libcurand.so locally Traceback (most recent call last): File "main.py", line 2, in <module> from tensorflow.examples.tutorials.mnist import input_data File "/home/hogehoge/.pyenv/versions/anaconda3-4.1.1/lib/python3.5/site-packages/tensorflow/examples/tutorials/mnist/__init__.py", line 21, in <module> from tensorflow.examples.tutorials.mnist import input_data File "/home/hogehoge/.pyenv/versions/anaconda3-4.1.1/lib/python3.5/site-packages/tensorflow/examples/tutorials/mnist/input_data.py", line 29, in <module> #省略 File "/home/hogehoge/.pyenv/versions/anaconda3-4.1.1/lib/python3.5/site-packages/pandas/__init__.py", line 22, in <module> from pandas.compat.numpy import * File "/home/hogehoge/.pyenv/versions/anaconda3-4.1.1/lib/python3.5/site-packages/pandas/compat/__init__.py", line 350, in <module> from dateutil import parser as _date_parser File "/home/hogehoge/.pyenv/versions/anaconda3-4.1.1/lib/python3.5/site-packages/dateutil/parser.py", line 158 l.append("%s=%s" % (attr, `value`))
ググったらdateutilのバグみたい
ここに、「それはdateutilのバグだね」って書いてあった
Error when importing pandas in Python 3 · Issue #551 · hashdist/hashstack · GitHub
dateutilをアップグレードしたら直った
直し方は単純で、アップグレードしてやればよい。これで終了。
$ conda install -c conda-forge python-dateutil=2.6.0