【備忘録】Pythonコマンドが認識してくれなくなった(Windows10のアップデートが関係?)

<span style="font-size: 120%;"><b>やっほー!　こんにちはー!</b></span>
物理好きのオザキ([@sena0801masato](https://twitter.com/sena0801masato))です。

今回は、Windows10で突然pythonコマンドを認識しなくなったので、その時の私が行った解決方法をお伝えしようと思います。
原因はいまいち分かりませんでした。Windowsのアップデートが影響しているような、私の環境の問題のような...
そのため、備忘録としてざっくりと書きます。もし同じようなことで、つまづいている方のお力になれれば幸いです。

### この記事の対象者
- 数か月前からpythonを使っている
- Windows10を最近アップデートした
- pythonコマンドを突然認識してくれなくなった

### 私の環境
- Windows10 Pro　バージョン 1903　OSビルド 18362.295
- Anaconda

自分のWindows10のバージョンを確認する方法は、[スタート]ボタン > [設定] > [システム] > [バージョン情報] です
[使用中の Windows オペレーティング システムのバージョンを確認する](#https://support.microsoft.com/ja-jp/help/13443/windows-which-version-am-i-running)

### 問題点
pythonを対話モードにしてみる。

```:コマンドプロンプト
Microsoft Windows [Version 10.0.18362.295]
(c) 2019 Microsoft Corporation. All rights reserved.

C:\Users\Owner>python --version
(反応しないで処理が終わったことになる)

C:\Users\Owner>python
(Microsoft Storeのpythonをインストールしませんか?って画面が開かれる)
```

```:ターミナル(gitのbash)
$ python --version
bash: /c/Users/Owner/AppData/Local/Microsoft/WindowsApps/python: Permission denied

$ python
bash: /c/Users/Owner/AppData/Local/Microsoft/WindowsApps/python: Permission denied
```

今までは何も問題なく対話モードになっていたのに<b>何か</b>おかしい。

### 解決方法
Pathの順番を入れ替えてターミナルを起動し直したらうまく動作した。
Pathの確認は[コントロールパネル] > [システムとセキュリティ] > [システム] > [システムの詳細設定] > [環境変数]です。
入れ替えてというのは、[環境変数] > [Path]を選択 > [編集] > [上へ]や[下へ]をしました。

入れ替え前
1. C:\Users\Owner\AppData\Local\Microsoft\WindowsApps
2. C:\Users\Owner\Anaconda3
3. C:\Users\Owner\Anaconda3\Scripts

入れ替え後
1. C:\Users\Owner\Anaconda3
2. C:\Users\Owner\Anaconda3\Scripts
3. C:\Users\Owner\AppData\Local\Microsoft\WindowsApps

ふたたび対話モードになるか確認してみる。

```:コマンドプロンプト
C:\Users\Owner>python --version
Python 3.6.1 :: Anaconda 4.4.0 (64-bit)

C:\Users\Owner>python
Python 3.6.1 |Anaconda 4.4.0 (64-bit)| (default, May 11 2017, 13:25:24) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()
```

```:ターミナル(gitのbash)
$ python --version
Python 3.6.1 :: Anaconda 4.4.0 (64-bit)

$ python
Python 3.6.1 |Anaconda 4.4.0 (64-bit)| (default, May 11 2017, 13:25:24) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()
```

### 原因
Pathは上の方にあるものが優先されます。そのため、Anacondaのpython.exeよりも先に、WindowsAppsでpython.exeが見つかったから、WindowsAppsのpython.exeを実行してしまったようです。
このWindowsAppsのpython.exeは私の環境では2019/09/06に作成されたらしいです。
"らしい"というのは、作成されるような操作をした心当たりがないためです。
こんなに最近にファイルが作成されていて、心当たりがあるのはWindows10のアップデートぐらいでした。
でも、Windows10のバージョン情報より、インストール日は2019/08/29と書いてあるから、ますます疑問です...

Cドライブのすぐ下に2019/08/29に作成されたWindows.oldディレクトリや2019/09/01に作成されたWindowsディレクトリが、Windowsのアップデートで作成された気がするから、ここら辺が影響しているのかな...

また、WindowsAppsディレクトリに入っているpython.exeを削除するという方法もありますが、削除は怖いので今回はPathの順番を入れ替えるだけにしました。
Pathを勝手に入れ替えたのも怖いのですが、WindowsAppsディレクトリにはMicrosoft Storeを開くものだけで、大したものが入っていなさそうなので大丈夫だと思います。

## まとめ
コマンドを認識してくれなくなった!って思ったらとりあえずPathを確認すればなんとかなると思います。
ただWindowsAppsのpython.exeは何がきっかけで作成されたのか疑問です。

<span style="font-size: 120%;"><b>ではでは!</b></span>

## 参考文献
閲覧日2019/09/09　使用中の Windows オペレーティング システムのバージョンを確認する
[https://support.microsoft.com/ja-jp/help/13443/windows-which-version-am-i-running](#https://support.microsoft.com/ja-jp/help/13443/windows-which-version-am-i-running)
閲覧日2019/09/09　Python/python3 executes in Command Prompt, but does not run correctly
[https://stackoverflow.com/questions/57485491/python-python3-executes-in-command-prompt-but-does-not-run-correctly](#https://stackoverflow.com/questions/57485491/python-python3-executes-in-command-prompt-but-does-not-run-correctly)