Windows7のコマンドプロンプトでpythonが以下のようなエラーをはいた
LookupError: unknown encoding: cp65001
これはコマンドプロンプトの文字コードであるcp65001がpythonにとって未知であるため。
自前プログラムの場合の対応
自前のプログラムだったら
import sys
import codecs
def cp65001(name):
if name.lower() == 'cp65001':
return codecs.lookup('utf-8')
codecs.register(cp65001)
という風に書いて、cp65001がutf-8だと定義してあげればよい。
pipなどのpythonツールの場合の対応
上記の方法はpipなどのpythonのツールだと使えない。
例えば、pip installなどでこれが出るとだめ。
そう言う場合は環境変数を
PYTHONIOENCODING=utf-8
としてあげればよい。