LoginSignup
50
20

More than 3 years have passed since last update.

Pythonを実行しようとしたらMicrosoftStoreに飛ばされた件

Last updated at Posted at 2019-11-11

対象読者

  • PowerShellでPythonを実行したらMicrosoftStoreに飛ばされるようになった人
  • PowerShellでPythonスクリプトを実行しても何も起らなくなった人
  • パスは設定済みで元々Pythonが実行できていた人

環境

  • Windows10 Home
  • Anaconda3

結論

原因は不明ですが下記パスが参照されていると思われます。環境変数の順位を変更するなどしましょう。
Windows 10 May 2019 Update が原因のようです(@Miyukiumooさんありがとうございます)
https://forest.watch.impress.co.jp/docs/serial/yajiuma/1188376.html

諸悪の根源
C:\Users\user\AppData\Local\Microsoft\WindowsApps\python.exe

経緯

Pythonが実行できない

いつも通りPowerShellでPythonスクリプトを実行しようと思ったら、何も起こらず処理が返ってきた。
コマンドプロンプトでもダメ。
試しにインタプリタを起動してみたらMicrosoftStoreに飛ばされた。

なにゆえ??

ちなみにこのとき、Anacondaの仮想環境では普通にスクリプト実行できてました。

前日ガラにもなくcondaのアップデートをしてみたらめちゃくちゃ時間かかったしめちゃくちゃconflictって表示されてたしCtrl-cで中断・再開とかしちゃったし、デフォルト環境が壊れちゃったのかな~とAnacondaを入れなおしてみたけど、ダメ。

実行ファイルおよび環境変数の確認

Anaconda入れなおす前に確認するべきことでしたが。。。

環境変数の確認。ちゃんとpython.exeまでパスが通っています。

では、なにゆえ??

コマンドが参照しているパスの確認

ここでやっと気付く。そもそもなんでエラーじゃなくてMicrosoftStoreにとぶんだろう。
コマンドが参照しているパスを確認してみると

> where python
C:\Users\user\AppData\Local\Microsoft\WindowsApps\python.exe
C:\Users\user\Anaconda3\python.exe

なんかおる

エクスプローラで確認してみると、比較的最近できたファイルのようでした。
怒りを込めて削除しようとするも弾かれました。

管理者権限で実行すれば消し去れるのかなと思いつつ、穏便に解決する道を選びました。

環境変数の順位を変更する

コマンドを実行すると、環境変数のパスを走査して初めに見つかったファイルを実行します。
MicrosoftStoreに飛ばすpython.exeより先にAnaconda3のpython.exeがみつかるようにします。

これで無事にPythonが実行できるようになりました。

まとめ

コマンドが実行できなくなったらまずコマンドが参照しているパスの確認をすべし。

何もしてないのにパソコンが壊れた と言いたくなるような状況でした。
後学のため、こんなことしたんじゃない?というのがあればご教示頂きたいです。

50
20
6

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
50
20