Pythonで ImportError が出てちょっとハマった件

Raspberry Piから Googleカレンダーにアクセスしてその日の予定を読み上げさせようとしたら、Pythonスクリプトの実行時に "ImportError: No module named httplib2" が出てちょっとハマりました。

pip list しても httplib2は正常にインストールされているので、かなり謎な現象だったのですが、どうやら Pythonのライブラリを更新したときに /usr/local/lib/python2.7/dist-packages の中のライブラリからパーミッションが落ちていた模様です。

それも httplib2だけではなくて、複数のライブラリのパーミッションが落ちてました。

犯人は Googleの Python Client Libraryをインストール(更新)するための
pip install --upgrade google-api-python-client oauth2client
だと思うのですが、いまさら犯人探しをしてもしかたがないので、パーミッションが落ちているライブラリをかたっぱしから
chmod -R go+rx hogehoge
でパーミッションを付け直したらなんとか復旧できました。

ちなみに、今回の ImportErrorの影響で約3時間ほど cronで自動実行している Pythonスクリプトが軒並みエラーになっていて大変なことになってました。


Googleは Google+で情報漏えいしていたことを隠していたり、欧州での制裁金に反発して Androidの端末メーカーからお金を取ろうとしたりと、おかしなことばかりですが「私の貴重な3時間を返しやがれ」と言ってやりたいです。プンスカ! (-_-#

この記事へのコメント

この記事へのトラックバック