やっほー! こんにちはー!
物理好きのオザキ(@sena0801masato)です。
今回は、Windows10で突然pythonコマンドを認識しなくなったので、その時の私が行った解決方法をお伝えしようと思います。
原因はいまいち分かりませんでした。Windowsのアップデートが影響しているような、私の環境の問題のような...
そのため、備忘録としてざっくりと書きます。もし同じようなことで、つまづいている方のお力になれれば幸いです。
この記事の対象者
- 数か月前からpythonを使っている
- Windows10を最近アップデートした
- pythonコマンドを突然認識してくれなくなった
私の環境
- Windows10 Pro バージョン 1903 OSビルド 18362.295
- Anaconda
自分のWindows10のバージョンを確認する方法は、[スタート]ボタン > [設定] > [システム] > [バージョン情報] です
使用中の Windows オペレーティング システムのバージョンを確認する
問題点
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をインストールしませんか?って画面が開かれる)
$ 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
今までは何も問題なく対話モードになっていたのに何かおかしい。
解決方法
Pathの順番を入れ替えてターミナルを起動し直したらうまく動作した。
Pathの確認は[コントロールパネル] > [システムとセキュリティ] > [システム] > [システムの詳細設定] > [環境変数]です。
入れ替えてというのは、[環境変数] > [Path]を選択 > [編集] > [上へ]や[下へ]をしました。
入れ替え前
- C:\Users\Owner\AppData\Local\Microsoft\WindowsApps
- C:\Users\Owner\Anaconda3
- C:\Users\Owner\Anaconda3\Scripts
入れ替え後
- C:\Users\Owner\Anaconda3
- C:\Users\Owner\Anaconda3\Scripts
- 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()
$ 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は何がきっかけで作成されたのか疑問です。
ではでは!
参考文献
閲覧日2019/09/09 使用中の Windows オペレーティング システムのバージョンを確認する
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