Windows + Python 3.3 で watchdog をインストールする

  • 6
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

watchdog is 何

watchdog は Python で書かれたファイルシステム監視ツールです。

see also: watchdogモジュールのwatchmedoコマンドが便利 - 偏った言語信者の垂れ流し

インストール

watchdog は現在 Python 2.5 以上で動作するので、大抵の環境は以下のコマンドを実行すればおしまいです。

pip install watchdog

Windows + Python 3.3

しかし、Windows 環境かつ、pip を入れた Python のバージョンが 3.3 の場合、以下のエラーで失敗するかもしれません。
(私の場合、Python 3.2 は問題なく、Python 3.3 ではこのエラーが発生しました)

argh.py
UnicodeDecodeError: 'cp932' codec can't decode byte 0x94 in position 112: illegal multibyte sequence

対応策

この状況になったら、以下の手順でインストールを続行します。

argh/setup.py の修正

インストール中の作業ディレクトリが、お使いの Python のインストール先または virtualenv で作った仮想環境にできていると思います。
argh のインストールに失敗しているので、argh/setup.py を開いてみましょう。
エラーメッセージで指摘された行数付近で、タブ文字が入っている箇所があるので、これを半角スペース4つに置換します。

argh のインストール

setup.py を修正したら、argh フォルダに移動し、以下のコマンドを叩いて argh をインストールします。

python install setup.py

watchdog のインストール再試行

これであなたを妨げるものはいない(はずな)ので、再び pip install watchdog を叩きましょう。
なお、まだ argh フォルダにいるようなら、パスを移動した方が良いかもしれません。

おまけ

喜び勇んで watchdog を使うと、すぐに次のエラーが発生するでしょう。

bricks.py
    if not sys.version < (2, 6, 0):
TypeError: unorderable types: str() < tuple()

大変残念な感じなので、この bricks.py を watchdog をインストールしたフォルダから開き、 sys.versionsys.version_info に書き換えてあげてください。