LoginSignup
23
10

More than 3 years have passed since last update.

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

Posted at

やっほー! こんにちはー!
物理好きのオザキ(@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をインストールしませんか?って画面が開かれる)
ターミナル(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

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

解決方法

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は何がきっかけで作成されたのか疑問です。

ではでは!

参考文献

閲覧日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

23
10
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
23
10