IoT分野では安くて高性能(プロセッサ兼Wifi+Bluetooth4.0搭載)と言うことで使われているEspressif社のESP32プロセッサですが、その公式開発環境であるESP-IDFについてWindowsでセットアップするとハマることがあったのでメモ書きしておきます。
ULP(Deep Sleep時に実行できる省電力プロセッサ)プログラムを書いたとき、そのビルドをする際にpythonスクリプトを実行しようとするのですが、そのpythonスクリプトファイルの関連付けを適切にしておく必要があるようです。私の場合、Python3.xを前もってインストールしていたことがあって、ESP-IDFがインストールしてくれるPython実行環境とコンフリクトしたのが原因ですね。
以下のようにして過去のPython関連ファイルの対応付けをクリアしてESP-IDFが用意したPython実行環境に合わせた形にするとうまくいきますが、これって別途Pythonを該当マシンにインストールしようとしたらどうなっちゃうのかな…?そこまでは未確認です。
- Powershellからcmdを打つ、もしくはコマンドプロンプト(管理者)を起動
- assoc .py=Python.Fileを実行
- ftype Python.File=”pythonw.exeへのパス” “%1” %* を実行
(ESP-IDFをインストールした場合、pythonw.exeへのパスは通常c:\Users\<ユーザ名>\AppData\Local\Programs\Python\Python37\pythonw.exeです) - レジストリにpython関係の対応付けがあればそれを削除する。具体的には
- regeditを実行する
- HKEY_CURRENT_USER\Software\Classes\.pyがあれば削除する
- HKEY_CURRENT_USER\Software\Classes\py_auto_fileがあれば削除する
- HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.py があれば削除する
- regeditを終了する
regeditで少しレジストリを触る必要があるかもしれないので、ちょっと緊張しますがね。