windowsで.pyファイルを関連付けしたのですが、ダブルクリックして実行しようとすると、毎回既定のプログラムを選択させられる現象に陥りました。
試したこと
- コントロールパネルから既定のプログラムを選択 → 何度選択しても「不明なプログラム」になる
- Python再インストール → 変わらず
- レジストリをいじって、関連付けをリセット。 → 変わらず
と、手を尽くしたものの、全く原因が分からず途方に暮れておりました・・・
さらに色々とテストしてみた
そこで、原因を特定するために、色々とテストをしてみました。
- pythonのexeファイルを他の拡張子に関連付け → ***できる!***ということは、pythonのプログラムには問題無し。
-
.py
ファイルを.pyt
などに変更して関連付け → ***できる!***ということは、.py
の拡張子だけに問題がある。
原因は.pyの拡張子に付いて回ることが分かったので、さらに原因を探ります。
レジストリの設定を見直す
そこで、レジストリの拡張子関連の設定を見直しました。結果から言うと、これで解決しました!
レジストリの設定は間違うとプログラムに重大な問題を引き起こす可能性があるので危険な操作です。
慎重に行ってください!
HKEY_CLASSES_ROOT
を開いて、
.py
を探します。
開くと、データはpy_auto_file
となってますね。ここに関連付けられたプログラムのパスが書かれています。
次に、py_auto_file
を検索しましょう。(Ctrl + Fで検索できます)
見つかったらフォルダを開いて行ってcommandというフォルダを開いてみましょう。
ここにパスが書かれています。
私の場合は、ここが以前消したはずのpython2.7のものになっていたのが原因でした・・・
ここを書き換えると、無事起動できました!
さいごに
pythonのバージョンを複数入れている方だと、このような現象に陥る可能性があります。
3.x系のPython記法でスクリプトなどを組んで、いざ実行しようとダブルクリックしたら動かない!ってことにもなります。(Python 2.x系のexecuterが呼ばれてしまうので)
是非、この辺り注意してみて下さい。