4 ms·
What held me back from using Python more is the absolute madness of these tools and the ecosystem. Like, Node looks like a tidy ecosystem in comparison. I've tr
by aledalgrande 3y ago
What held me back from using Python more is the absolute madness of these tools and the ecosystem. Like, Node looks like a tidy ecosystem in comparison. I've tried almost all the tools in those venn diagrams in the article and I probably had the most luck with poetry + pyenv. But then I started having version conflicts with the packages and gave up. Most packages out there are just released to Pypi with little consideration to the right dependencies to require. Other languages I used that have really solid package management tools: Ruby, Java, Rust, Go. Node with pnpm seems to be reaching a good point.
- zie 3y agoI don't really disagree, but Python is complicated because the language existed before all of those others for the most part and got quite popular before them too. This means the various use cases for Python got spread about long before the packaging tools really started to try and catch up. It used to be a technical problem. This means trying to fit all the various use cases for packaging has been like herding cats. It's certainly not a technical problem anymore, the newer ecosystems/languages have figured it out, but it is a community/human problem. Thankfully there is now a small dedicated team that has been working on the problem for years, and progress has been made. For the most part if you stick to a single tool(poetry or rye for example) then most of your problems disappear as long as you stick to their blessed way, whatever it is.
- aledalgrande 3y agoI do understand the historical reasons. Javascript has been kind of the same for years, also because its usage exploded right at the beginning. I'm just saying that between the tools that we have today, if you take into account the ecosystem, Python is not my first choice, even if it's used a lot for AI/statistics. I hope the team you are talking about can pull it together. It would be nice to have one package manager/environment manager, especially for a language that has a philosophy of the "one obvious way" to do things.
- dogtierstatus 3y agoMay i ask what is your first choice?
- aledalgrande 3y agoRuby for Web. Rust for infra.