6 ms·
Executable installer will stop being released with Python 3.16
- dartharva 6mo agoThey should honestly just instead back `scoop` as the default way to install Python on Windows. It's clean, sits nicely in userspace and handles CLI execution aliases elegantly.
- SuperHeavy256 6mo agoSo now you're forced to use Microslop Store to get Python? At the very least they could offer .msix files to download and use.
- ozlikethewizard 6mo ago"Use of the Store app or the MSIX package is recommended." There's a big ole green download link on there for the MSIX lol.
- adithyassekhar 6mo agoMSIX is what ships on the store. And some devs just use it as an installer as well. By the way aren’t MSIX installed apps sandboxed?
- ozlikethewizard 6mo agoNot a windows user so knowledge is a bit fuzzy, but I remember the one of the advantages of MSIX being that the actual installers have less system access, but not sure if the applications once installed are any different.
- jordand 6mo agoYeah with MSIX, the security is better for end users, but the trade off is there's a lot less flexibility for developers (limits on custom installs, accessing registry, Custom Actions, etc.) This works out fine for most desktop apps, and MSI is still used and supported.
- electroly 6mo agoThey don't have to be. I have a traditional non-sandboxed app with an MSIX installer. It's less flexible than MSI but it doesn't mandate a sandbox for the installed application.
- greatgib 6mo ago> Python install manager will automatically update within a day of an update being released Totally something that someone in his right mind will not want to. Also impatiently waiting for the day that the org will be blocked on the store so that the morons that decided that can be rewarded... Also, how can you do an offline install?
- deleted 6mo ago[deleted]
- SAI_Peregrinus 6mo agoFor an offline install on Windows, stick the Python .exe in `uv`'s executable directory[1]. [1] https://docs.astral.sh/uv/reference/storage/#executable-directory https://docs.astral.sh/uv/reference/storage/#executable-dire...
- crabbone 6mo ago[flagged]
- dist-epoch 6mo ago> But why would individuals unconstrained by corporate policies choose to use this I know this might be incomprehensible, but some people, some of them even software developers, run more on their OS than just terminal CLI tools. And for others the lack of customizability is a feature. You can't install a different desktop environment. You can't customize the task bar too much. Which also means you can't get your OS to a broken state as easily.
- PunchyHamster 6mo ago90's called, they want your opinions on Linux GUI back
- graemep 6mo agoI have never broken my OS by installing a different DE in over 20 years of Linux being my daily driver, and multiple distros. I heavily customise panels to reflect current usage and hardware and I cannot imagine how this could break the OS.
- nsowz 6mo agoJust to be clear, Python is doing this because they want to. Also, there is no reasoning in the post, which is odd to me. I have always used the exe to install Python and I didn't see anything wrong with it.
- crabbone 6mo ago> Just to be clear, Python is doing this because they want to. No. They don't. The story is more or less like this: ten-fifteen years ago Python community started to change. The change was heavily influenced by the inflow of newcomers. It was a very similar story to the "eternal September". Too many new people entered the field. Old-timers didn't feel comfortable in the new environment and started to leave. The leave was accelerated by the newcomers being in Python for the clout and not for what the language had to offer, therefore becoming further hostile to the old-timers. There was also Microsoft, embedding its people in positions of power within the community. Using all the usual techniques, like creating "rules of conduct", then blaming the old-timers for violating them, then kicking them out. Then they changed the platform for discussion of the language that allowed the people who enacted this "bloodless coup" to silence the dissent to the point they are able now to pretend dissent doesn't exist. So, "want to" is... very contentious here. The people Microsoft put in charge of Python? -- Yeah, they probably want this, as this ensures tighter integration with proprietary tools, less freedom for people using the language. It's great! People who follow those installed by Microsoft? -- Yeah, they want this in the sense that they don't know any better. They were told it's a good thing, that it's something they should want, and so they don't know any better than to want it. But, suppose and the people who have to deal with this change were intelligent enough to understand the consequences and to see the general direction the things are going? -- They wouldn't want it. This is the kind of "want" like the one you have with sweet carbonated drinks. Do people want them? -- Absolutely! Should they want them? -- Well, probably not... So, there are different "shades" of "want". In some superficial way, Python programmers on MS Windows do want this and similar changes. But, in a more fundamental way they don't, even though had you run a poll, you'd get a different response.
- Alifatisk 6mo ago> To install using WinGet, the command is "winget install 9NQ7512CXL7T" Is the package name on purpose?
- absynth 6mo agoYes. winget install ICURAIDI0TFU seemed unsuitable for production. winget install 8NDEADBEEF9N offended some. winget install 0%U#I#$#$$## had too much hash and blow for some US states. winget install python3.11 was too obvious. No?
- elch 6mo agoIn the case of 3.11 'winget install python.python.3.11' works just fine (Community Repository).
- PunchyHamster 6mo agoMS decided to look at all good practices in package repository management and don't do them
- tosti 6mo agoHey, it's quite an improvement over GUIDs!
- pseudalopex 6mo agoThe package name was Python Install Manager. 9NQ7512CXL7T was the Microsoft Store ID.
- immanuwell 6mo agorip to the .exe installer - honestly overdue, since python on windows has been a rite of passage in suffering for too long, and leaning into winget/store is the right call
- zahlman 6mo agoI genuinely don't understand what people think was wrong with the installer. I never had any problems with it. Of course, it helps that I actually read labels next to checkboxes, and understand the "for this user"/"for all users" paradigm on Windows, and recognize that the way that Windows expects programs to be organized in Program Files is bad for %PATH% length....
- proactivesvcs 6mo agoWith this change of policy the foundation does not "have any control or influence over what WinGet does", one of the first class methods to install python. https://github.com/python/pymanager/issues/287 https://github.com/python/pymanager/issues/287
- PeterStuer 6mo agoI've been using uv to manage python with great success, but yeah, now that Astral has been aquired, it sort of makes me a little bit uneasy I admit.
- znpy 6mo ago> To install using WinGet, the command is winget install 9NQ7512CXL7T. so ergonomic!
- RS-232 6mo agoThis is pretty terrible for offline deployment. An install manager is useless for offline systems. For folks who don’t want any hassles, there’s WinPython. It’s a portable Python distribution à la Anaconda. The “whl” flavor includes a nice wheelhouse of packages that you can use as a flat index for your venvs.
- lostmsu 6mo agoWinGet and potentially MSIX have a glaring hole that should make this a no-no: programs installed that way don't work correctly via native Windows SSH server. If I remember correctly, the scenarios that fail are: installing using WinGet via SSH fails, updating using WinGet via SSH breaks the executable shims, and if Windows Store updates package, you can't use executable shims from SSH until reboot.
- alexaholic 6mo ago> winget install 9NQ7512CXL7T LOL
- pansa2 6mo agoThe PEP for this change is here [0] and discussion of it is here [1]. Both are very long and seem to represent a huge amount of complexity, apparently to make installing Python easier for novices? But what about those of us who listened to Rich Hickey and prefer "simple" over "easy"? With the executable installer no longer available, how do I get a copy of python.exe, python316.dll etc onto my machine so that `C:\Python316\python.exe <script>` works, without having to think about `py`, `pymanager`, Windows Store etc? [0] https://peps.python.org/pep-0773/ https://peps.python.org/pep-0773/ [1] https://discuss.python.org/t/pep-773-a-python-installation-manager-for-windows/77900 https://discuss.python.org/t/pep-773-a-python-installation-m...
- zahlman 6mo ago> apparently to make installing Python easier for novices? That seems to be the goal. But from what I've seen on forums and Discord, nothing really works for that. People are becoming less and less computer literate, including people who want to try programming. I've seen multiple instances of people not understanding the idea of running an installer once and then running the thing it installed after that. Any number of Windows users who have never seen cmd.exe (or Powershell or any other alternative) before. And the install manager makes things worse because the `py` name conflicts with the old launcher, and of course nobody (at least, among the people actually wrestling with this stuff) actually reads pages like the one in OP. Everyone tries to learn how to do stuff from third-party sources, and old sources explaining former ways to do things never go away or get updated. ... You know, I think I finally understand why people care about `uv` being able to install Python. (I mean, I'm on Linux so I'm insulated from this anyway, but still.)
- Lockal 6mo agoAh, going back to "ActiveState Python". "ActiveState Python" is 100% compatible with community Python but is automatically built from vetted source code using a secure, SLSA-compliant build service in order to ensure its security and integrity. Secure your Python software supply chain. Contact our sales team for a monthly subscription plan.