3 ms·
I regularly download the python source code, compile it with standard prod optimizations, then install to /use/local/python${version}. This works extremely con
by metadat 2y ago
I regularly download the python source code, compile it with standard prod optimizations, then install to /use/local/python${version}. This works extremely consistently since python 3.7 (released in 2018). In my experience, these commands are so stable and consistent they could be automated away. What might the author's issue or underlying protest be?
- Hamuko 2y agoDoesn't pyenv basically do that automating away? I don't think I've ever had issues compiling Python using pyenv.
- metadat 2y agoNo idea what that is, the standard distribution is so easy to work with I don't need anything else.
- rat87 2y agoI've had a ton of issues with pyenv and using pyenv/pyenv-virtualenv/poetry that were fixed by moving to rye
- the_mitsuhiko 2y agoThere is also a world of windows out there. Compiling Python from scratch is not a ton of fun there. Rye wants to have a very consistent experience for everybody.
- robertlagrant 2y agoOne of the key benefits of Python is it's very easy to motivate for getting a Mac or Linux laptop from IT when you use it :)
- krageon 2y agoPython is a nightmare to use on those platforms as well. It's one of my favourite languages, but I have (until now I guess) started avoiding it like the plague for anything important or distributable because of the actual hell that is dealing with it in production.
- robertlagrant 2y agoWhat actual hell in production have you experienced? I'm curious!
- rtpg 2y agoI've also compiled python from source a good amount, and it usually works... until some thing where I realize some standard lib wasn't compiled because I was missing an optional dependency. But some lib assumes that it was always included cuz the standard distro is. I think it's easy to compile Python, but it's easy to end up just having to go re-compile it for some random component that was not compiled in the "standard" fashion. If you have a good test suite this stuff shows up quite loudly though. At one point the core issue is more collaborators wanting to not have to compile things themselves. (And to "automating away" as a comment... indygreg's releases _are_ this! Someone has done the work for us all)
- Hamuko 2y ago>And to "automating away" as a comment... indygreg's releases _are_ this! They most definitely are not. There's a world of difference between downloading a portable Python build and building one on your own machine, and C extensions can give you a world of trouble when they start referencing paths that are not on your machine, but rather were on the CI machine that built your static build. The FAQ even has a big section that boils down to "There's a bunch of paths included in these builds that will not make sense to consumers and we don't have a way to fix it."
- VagabundoP 2y agolol readline I'm looking at you.
- IshKebab 2y agoWell an obvious issue is that you have to do that! Also I think a big issue is the inconsistency between platforms. For example the official Python installed doesn't include python3.exe (frankly because the devs are idiots), but the one from the Microsoft app store does! If you stay on one platform you wouldn't see those issues.
- whalesalad 2y agoSame. We build our own Python and have been running it for years without a single hiccup. Not sure what the big fuss is. Pyenv does the same thing. The concern could be absolved by simply improving the docs with the most recommended compile flags. I think they are actually noted there. Also of note our build time decreased substantially with llvm.