cmdでpythonコマンドが「Python」とだけ返すときの解決法

本当はQiitaとかに書くべきなのだろうけど,よくわからないのでnoteでメモ書き程度に書く

pythonで"Python"と出る

筆者はdiscord.pyを使ったDiscord bot開発をしようとしていた.
そこで,コマンドプロンプトを使用して仮想環境を構築しようとしていた.
しかしながら,以下のようにPython系のコマンドがほとんど意味をなしていなかった.

> python -m venv .venv
Python
> python --version
Python

このような例はYahoo!知恵袋に多数投稿があったので,その解決法をいくつか試したが(),どれも効果がなかった.
(他にもブログ記事など(ex.)があったが,それでも効果がなかった.)

Python実行ファイルの場所の確認

そこで,

> where python

を実行して,Pythonの実行ファイルがどこにあるかを調べた.
すると2件表示され,

C:\Users\user1\AppData\Local\Microsoft\WindowsApps\python.exe
C:\Users\user2\AppData\Local\Programs\Python\Python312\python.exe

のようになっていた.(普段はuser2を使用している.)

とりあえず「複数実行ファイルがあるからよくないのだろう」と,
・コントロール パネル内の「プログラムと機能」
・設定内の「アプリと機能」
から削除できるPythonと名の入った項目を全て削除した.
しかしながら,'where python' を実行しても一番上のuser1にあるファイルは残っていました.

気になったのでエクスプローラーからそのフォルダを覗いてみると,0 kBと書かれた 'python.exe' が置かれていました.それをエクスプローラーの右クリックメニューから削除をしても,エラーを吐いて削除できませんでした.

管理者権限で実行したコマンドプロンプトから

> cd C:\Users\user1\AppData\Local\Microsoft\WindowsApps
> del python.exe

と実行して,無理やり削除させました.
(同じフォルダ内に 'python3.exe' もあったので一緒に削除した.)

解決

もう一度確認してみると,pythonの実行ファイルはすべて消えたようだ.

> where python
INFO: Could not find files for the given pattern(s).

そこから先は,pythonの最新版を入れ直して解決した.
入れ直す段階で同じような事態になったとしても,web上にある色々な記事で解決できるだろう.


以上,Python素人でした.表現が厳密でないのは許してにゃん

追記: 友人がPythonの環境構築をしたときに同様の事象が発生していた.過去にPythonを入れたことのある人の一部はそういう可能性がありそう.

この記事が気に入ったらサポートをしてみませんか?