質問: 今日MSYS2を使って`pacman -S mingw-w64-x86_64-python`コマンドを実行し`C:\msys64\migw64\bin`にPythonをインストールしました(PATHは該当ディレクトリに設定してあります)しかし、コマンドプロンプトで`python`と実行すると、何故かストアアプリが開いてしまいます。 なお、同ディレクトリには`python3.8`なる実行形式ファイルも含まれており、こちらをタイプしてみた所正常にREPLが起動しましたが、もう片方の`python3`なる実行形式ファイルを実行しました所またもストアアプリが開いてしまいました。 これはWindws10の仕様でしょうか?また解決策はあるのでしょうか?VScodeでRustをデバックする際に3.3以上のPythonが必要になるようで、どうしても解決したいと思っています
回答: 試しに`where python3`とか`where python`で、該当のコマンドが何処にあるか探してみてはどうでしょう? which command相当をWindowsで実行する方法 > > **やりたいこと** > > Linuxでの`which` command相当をWindowsで実行したい。 > > > **結論** > > `where.exe <コマンド>`を実行する。 > > > `which`相当を実施する方法は複数ある(特にPowerShell)が、 > > `where.exe`はPowerShellとCommand Promptで同一コマンドで実行できるのが良い。 > > > Windowsのwhereコマンドでファイルを探す > > **指定した(実行)ファイルを検索する** > > whereコマンドの使い方は、「where /?」で表示される。 > > > 一番簡単な使い方は、見つけたいファイル名やコマンド名を引数に指定してwhereを実行することである。デフォルトではカレントフォルダと環境変数PATHの指す各フォルダが検索対象となっているので、例えば「where notepad」とすれば、メモ帳の実行ファイル(notepad.exe)を検索して、それが存在するパスを表示する。複数存在する場合は、すべて表示されるし、ワイルドカードを使うと、該当するファイルがすべて列挙される。 > > > 見つかったプログラムがパス指定のどの位置にあるかで、どれが実行されるか分かります。同じ名前ならばパスの前の方にあるプログラムの方が実行されるでしょう。 呼び出す側のプログラムの設定ファイル等で、特定パスのプログラムを決め打ちで指定している場合は別ですが。 ストアアプリのPythonインストールを促す画面が出てくるのは、以下のフォルダがパスの前の方に設定されているからで、この中にあるpython.exeがその動作を行います。 そのプログラムを削除するかリネームする、あるいはそのフォルダ指定をインストール済みのPythonのパスより後ろにするか削除すれば出てこなくなります。 `C:\Users\ユーザー名\AppData\Local\Microsoft\WindowsApps` **追記:** 独自(あるいはシームレス?)の環境設定にこだわる人が居るようで、こんな力作記事が出ていたりします。 Windows10+Python3.7.x+OpenCV-Python4.1.x+wxPython4.0.x/PyQt5/Tkinter+USBWebcamの環境構築例 MSYS2によるWindows 10でのBash環境構築メモ 一方でこんな記事もあるので、注意が必要でもあるでしょう。 msys2 の mingw 版 python は使わないほうがよさそう