backtesting.pyをpipでインストールしようとしたところ、下記のような UnicodeDecodeErrorが出てハマったので
対処法を残しておきます。
python -m pip install backtesting
(中略)
UnicodeDecodeError: 'cp932' codec can't decode byte 0x94 in position 4437: illegal multibyte sequence
----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
Python3.7から導入された環境変数「PYTHONUTF8」を1にセットすることで、locale.getpreferredencoding()のデフォルト値ががutf-8に設定されます。(公式ドキュメント)。
set PYTHONUTF8=1
なお、PYTHONUTF8と同じ機能は、過去バージョンにおいてはpython -X utf8 xxxx.py
でも実現できているのですが、python -X utf8 -m pip install ~
はうまくいきませんでした。