pip
python2.7

pip install でUnicodeDecodeError が発生した際の対処(日本語を含むパスで)

More than 3 years have passed since last update.

背景

ユーザ名で日本語を設定しているWindows環境で

pip install <Library名>

を実行した際,pythonのsite-packagesに含まれる ntpath.pyでUnicodeDecodeErrorが発生しました.
(原因はどうやら appdata フォルダにファイルを書き込む際,日本語が含まれるとエンコードに失敗することのようです)

icoxfog417さんのpipでUnicodeDecodeErrorが発生した際の対処法という投稿を参考にさせていただき,日本語でない管理者アカウントを新規作成して pip install を実行したところ,うまくいきました.

しかし,できれば日本語のアカウントのまま pip install したかったため,以下の修正を加えました.

C:/Python27/Lib/site-packages 内に sitecustomize.py という名のファイルを作成して

import sys
sys.setdefaultencoding("cp932") # デフォルトのエンコーディングをshift-jisに変更

というコードを追記します.コマンドプロンプトを再起動して,pip install を実行するとうまくいきました.

参考

http://bugs.python.org/issue9291#msg206938
どうやら他言語のユーザでも問題が生じているようです.