One Step Ahead

プログラミングやエンジニアリング全般について書いていきます

WindowsでPython3系を実行するとMSストアが開く時の対処方法

はじめに


pythonをインストール後、インタプリンタを起動しようするとインタプリンタが起動せず、Microsoft Storeが代わりに起動してしまう。という事象があったので、備忘録として残しておきます。

確認環境


今回の事象が確認できたのは、以下の環境です。

  • Windows 10 Pro
  • Python 3.9.2

VSCodeもしくは、Powershellから直接pythonコマンドを入力すると、Microsoft Storeが起動してしまいます。

f:id:EaE:20210226214116p:plain

pythonコマンドを入力しても、インタプリンタは起動しません。代わりにMicrosoft Storeが起動してしまいます。

f:id:EaE:20210226214238p:plain

対処方法


① パスの順番を入れ替える

方法としては、タイトル通りなのですが、それだけだとあまりにも味気ないので、そこに至る過程についてもざっくりと説明します。

まずは、『pythonコマンドを実行して、Microsoft Storeが起動する。』という事象が確認されているので、実行されているコマンドがインストールフォルダ配下の.exeファイルなのかを確認します。
PowershellではGet-Command(エイリアスはgcm)を使用して、コマンドのパスを調べることができます。

f:id:EaE:20210226221757p:plain

より詳細な情報が知りたい場合は、Format-Listコマンド(エイリアスはfl)を使いましょう。

f:id:EaE:20210226221806p:plain

%USERPROFILE%\AppData\Local\Programs\Python\Python[version]が本来のインストールフォルダになりますが、%USERPROFILE%\AppD[f:id:EaE:20210226222902p:plain]ata\Local\Microsoft\WindowsAppsというフォルダの異なるpython.exeファイルが呼び出されていることが分かりました。

次に環境PATH設定の解決順序を確認します。

f:id:EaE:20210226222029p:plain

↑の通り、Programs\PythonよりもMicrosoft\WindowsAppsの方が解決順序が上に設定されています。この解決順序を変更していきます。

f:id:EaE:20210226222444p:plain

修正後の環境PATHが↑の通りです。先ほど、Microsoft\WindowsAppsより下に設定されていたPythonフォルダへのパス情報をすべて、Microsoft\WindowsAppsより上に設定しています。

f:id:EaE:20210226222902p:plain

最後にpythonコマンドのパスを確認して終了です。

さいごに


  • 環境PATHの解決優先順位を変更する。

これ以外にも解決方法があれば、教えてもらえると助かります。