2014年5月13日火曜日

Windows7にsetuptoolsをインストールする際のエラー

Windows7にPython2.7をインストールした後、pipを使うためにまずsetuptools(easy_installコマンド)をインストールしようと思い、公式からez_setup.pyをとってきて実行、一瞬コマンドプロンプトが立ち上がって、無事インストール完了。と思いきや、easy_installが使えない。パスが通ってないかな?と思って確認するも、問題なし。。

ううむ、もう一度ez_setup.pyを実行してみると、一瞬、赤い文字が・・・。いやーな予感。。コマンドプロンプトからコマンドでez_setup.pyを実行してみたところ、以下のようなエラーがでていることを確認しました。

長らく使っているPythonを入れてこんな序盤で躓くとは思ってもいませんでした。


Python2.xにありがちなUnicodeのエラーが。でもなんでこんなところで出ているんでしょう?よく見ると、registryの文字が。どうやらレジストリ周りにUnicodeが含まれている疑いが。レジストリエディタを見てみたところ、以下のような怪しい文字列を発見。 


変な中華ソフトをインストールした記憶はないし、レジストリのキーにマルチバイト文字を入れるなんてけしからん、と思ってたのですが。いろいろ調べてみると、VLCが犯人であることが判明。UTF-16によるエンコーディングバグなのだとか。こういうバグを踏むことが多くてついてない今日このごろ。

とはいえレジストリのこんな特殊なキーを拾ってきてデコードエラーを吐くPythonもPythonだよなー、と思いつつも、なかなかPython3.x系に乗り換えられないのでした。

Versions

  • Windows 7 64bit
  • Python 2.7.6 x86-64
  • setuptools 3.6




0 件のコメント:

コメントを投稿