19 ms·
> Poetry struck me as one of those 80% solutions that might get in the way of a 100% solution. I used it for a number of little projects and felt it was good en
by MrJohz 4y ago
> Poetry struck me as one of those 80% solutions that might get in the way of a 100% solution. I used it for a number of little projects and felt it was good enough but my analysis was that its dependency resolution strategy was pretty slow and that I didn't believe it was 100% correct.
I think part of the problem is that almost all the solutions in the Python ecosystem (yours included if, like you say, you ever need to deploy it) are 80% solutions. It's just each one handles a different 80% of the problem. The last company I worked at also has a reasonable solution involving manual venvs and a bit of scripting on the side that worked fine until we ran into a bug that we couldn't reproduce for ages because one of our dependencies had randomly updated at some point, and we had no way of locking them. 80% fine, 20% a nightmare that I never want to touch again with a bargepole. Even looking through this thread, most people are suggesting solutions with enormous caveats to practical use.
In Poetry's defence, I think the 80% that it caters for tends to be a pretty good 80% for the majority of people, so it's still a good recommendation if you're setting up a new project that's not going too far outside the norms. But I think the 80% thing is definitely a valid criticism of it and most of the rest of the Python packaging ecosystem.
- PaulHoule 4y agoThe problem is that people are concluding that "python sucks, let's use another language" every day. If you look at the replies to my comment that is what the rest of them say. That's what people concluded at that place that was having trouble building complex systems. From that point of view it is not pip vs poetry but pip vs gopm or pip vs rubygems, or... Maven and npm are perceived as 100% solutions in the Java and Javascript worlds respectively. Sure there are gradle and yarn but both of those are trying to be 100% solutions that are better than the other 100% solutions.
- MrJohz 4y agoI completely agree, I say all that as someone who is happy to pragmatically work with Python, but who is also very tired of the ecosystem and wouldn't choose it for much outside of data science. Which is unpleasant to admit, because it was my first language, and I did a lot of fun stuff with it.