126

This is strange issue I have observed. I installed Active Python 2.7 on Windows 10 (version 1903).

On typing “python” from search, opens the Python 2.7 prompt but when I type from command prompt window, it triggers the Microsoft Store.

Don't know how to fix it and this never happened on previous versions of Windows (RS5, RS4…)

Edit 2: Please suggest the solution to turn this off: either via command prompt or using answer file to get this after unattended installation.

  • May be that was some sort of advertising, py3.7 is in Windows Store. But I'm using it, not an issue. – Biswapriyo May 16 '19 at 12:32
  • Are you using python 2.7? if your system doesn't have python 3.x but 2.x, try typing python in cmd prompt, see what happens? – Dr. Essen May 16 '19 at 12:42
  • 3
    What does this command reveal? where python – Biswapriyo May 16 '19 at 13:41
  • 1
    Two options: - C:\Python27\python.exe ; C:\Users\Username\AppData\Local\Microsoft\WindowsApps\python.exe – Dr. Essen May 17 '19 at 5:16
  • 3
    This was intended behavior. Microsoft added this behavior with 1903 because they recognized developers struggle getting Python installed. I read about this change but I don’t recall where I read it. – Ramhound May 30 '19 at 10:53
178

Fixed it by removing it automatically on the settings page. Under Apps and Features, there are an application execution aliases.

I am running the latest 1903 update.

enter image description here

| improve this answer | |
  • 1
    Please tell me how to do this setting from command prompt. And also through the answer file to get this in unattended installation. – Dr. Essen Sep 24 '19 at 8:14
  • 2
    Best bet is to have a script to remove the WindowsApps folder from the PATH environment variable. – selbie Sep 25 '19 at 9:00
  • 1
    It works! Thank you so much! – JackLametta Nov 28 '19 at 10:49
  • 7
    Thank you... . This is the kind of thing that makes me HATE windows. I had to go remove it from the path then i got worried i had a virus because i see this 0byte exe thinking wtf... microsoft needs to quit breaking stuff – Tim Baker Dec 14 '19 at 22:13
  • 1
    MS needs to stop with the bloatware – Avril Lavigne Feb 7 at 14:14
24

Deleting "C:\Users\Username\AppData\Local\Microsoft\WindowsApps\" from the system environment variable, PATH, prevented the Microsoft Store application from launching when I typed python.exe and python3.exe in a command prompt.

The folder WindowsApps within AppData has a bunch of executables that, if typed in a command prompt, such as iTunes or python would launch the Microsoft Store application allowing the user to download the Python or iTunes UWP application. Once this path is removed from the system variable, typing python.exe or python3.exe, will not launch the Microsoft Store.

This may sound dangerous but if you look in the folder, it has a bunch of exes that, as I said before that would redirect you to download Python from the Microsoft Store. If for example, you type in iTunes in the command prompt, it would redirect you to download iTunes from the Microsoft Store.

Picture of the WindowsApps folder

These executables are built for the user's convenience and are not necessary tools for Windows to work.

| improve this answer | |
  • Welcome to Super User! Can you please explain what that does? – CaldeiraG May 30 '19 at 8:57
  • 1
    Sounds like this could have some undesired side-effects. – Daniel K May 30 '19 at 10:23
  • there were python.exe and python37.exe(i have python3.7) files that were being called by system when I typed "python" in cmd, which in turn was opening Microsoft store to download python distribution. I tried deleting those files but Windows 10 would not let me. So i delete that folder's path from System variables. So , now the actual python.exe(the one that I installed with python distro) is called when I call it in cmd. – Tushar Gautam May 30 '19 at 10:33
  • 1
    @DanielK There can be side effects but in my case, there was only one additional file(other that python.exe opening microsoft store) that was debian.exe(this starts wsl debian). I can also start wsl using "wsl" or "bash" keyword and also "debian" keyword is also still working in cmd. So I did not see any side effects so far. I think that folder has mostly redundant files. – Tushar Gautam May 30 '19 at 10:38
  • 2
    Moving the path to the end may be better than removing it – phuclv Jun 8 '19 at 6:40
9

As @Ramhound mentioned in a previous answer, this is an intentional change as announced in the article: Who put Python in the Windows 10 May 2019 Update?

The article describes the team's intent to make the process easiest for users new to Python:

If you’re already a Python expert with complex needs, you probably know how to install and use it. It’s much more likely that someone will hit this problem the first time they are trying to use Python. Many of the teachers we spoke to confirmed this hypothesis – students encounter this far more often than experienced developers.

So we made things easier.

I could not find a full list of features from 1903 on the microsoft site, but PureInfoTech provides a great comprehensive list of the new features

Not mentioned in the article, it also accompanies some new layout changes and features updates, such as in the Apps & Features in settings:

In settings, select Apps & Features, then you should see a new option 'App execution aliases' which will have python.exe and python3.exe

Turning the switch for each App execution alias either deletes or replaces that alias in the directory: <user dir>\appdata\local\microsoft\windowsapps It's also worth noting that if you have the update and python.exe or any of the aliases don't work for you, you may have to turn them off and on again, which I was able to do when python.exe was not available after the update.

| improve this answer | |
4

On typing python from Search, opens the python 2.7 prompt but when I type from command prompt window, it triggers Microsoft Store.

Don't know how to fix it. This never happened on previous versions of windows (RS5, RS4...)

This is intended behavior on Windows 10 version 1903. There isn’t anything to fix.

While Python continues to remain completely independent from the operating system, every install of Windows will include python and python3 commands that take you directly to the Python store page. We believe that the Microsoft Store package is perfect for users starting out with Python, and given our experience with and participation in the Python community we are pleased to endorse it as the default choice.

Source: Who put Python in the Windows 10 May 2019 Update?

| improve this answer | |
3

Below worked for me:

  1. Uncheck python from "App execution aliases" Update's answer
  2. Delete the WindowsApps directory Tushar's answer
  3. Set Path variable to C:\Users\<user>\AppData\Local\Programs\Python\Python37
| improve this answer | |
1

I'm posting this in addition to the other answers in case anyone else encounters this frustration to the extent that I did.

I had Python 3 in my PATH before the 1903 update, and the 1903 update still added those two "rogue" python files in my WindowsApps folder. Even after removing that folder from my user PATH (it wasn't in my system PATH), and after rebooting, typing "python" in PowerShell opened the store. The WindowsApps folder was at the end of my PATH variable anyways, so it should not have overridden the working version, but it did. Get-Command python even returned the python.exe in WindowsApps.

The only way I could get it to run the version of Python I had working previously was to delete those python files from the WindowsApps folder; apparently PowerShell implicitly looks in that folder instead of using the PATH variable if those files are present.

| improve this answer | |
  • How do I rename these files. They are 0 bytes in size? Also opened cmd terminal as admin. Not able to remove :( – Rudiger Wolf Aug 3 '19 at 17:51
  • Deleted python3.7 and then installed python3.8 followed by python3.7. That sorted out running python from the powershell terminal. – Rudiger Wolf Aug 3 '19 at 19:41
0

I ran into this problem recently. With Visual Studio 2019 installed, I had already installed Python as a workload. I went to CMD and typed python. Up came the Microsoft Store. After wasting too much time looking more into this, it was obvious to me Microsoft Visual Studio team and Python team were not on the same page.

What I eventually ended up with was going back into Visual Studio installer and unchecking the Python workload to uninstall. Then, going into Windows Apps and uninstalling Python and any Python related applications listed.

After noticing that Python was installed on my 1TB NVMe SSD boot drive in the users directory I cringed. The path name was not friendly at all. Not only that, but because I have limited space on that drive and with all the Microsoft Store apps piling up, I dread to think what happens when the drive goes full.

So I decided, this was not good and chose to go to the Python website and download the current version. Then, install in a non-boot drive with plenty of disk space into a friendlier file path (D:\Python). You'll see why this is important when you go pip down a bunch of packages and applications...

Also, if you run into environment space problems, at the end of the Python installer is a question if you want to increase environment space. Say yes. Looking at my environment PATH, D:\Python\Python38\Scripts and D:\Python\Python38 were pre-appended.

| improve this answer | |
-2

You can put your python installation folder before C:\Users\<Username>\AppData\Local\Microsoft\WindowsApps\ in the Path environment variable. Such as 1

| improve this answer | |
  • This is not related to path at all. I have tried this but doesn't work. – Dr. Essen Feb 24 at 12:40

Not the answer you're looking for? Browse other questions tagged or ask your own question.