6 ms·
Python distribution is honestly horrific. The worst thing is that I actually see people defending it or saying it isn't that bad if you simply learn it "properl
by joeberon 5y ago
Python distribution is honestly horrific. The worst thing is that I actually see people defending it or saying it isn't that bad if you simply learn it "properly" but I have no idea what they mean when they say this.
- a_humean 5y agoIt just means they have never worked in another langauge that does this any better.
- mrweasel 5y agoIt could be better, but it doesn’t feel worse than .Net or Go, and it’s much better than Javascript/Node. Personally I’m also confused by Ruby. I guess Java is sort of okay, but which languages do people feel have excellent package management?
- a_humean 5y agoRust's cargo is the high water mark today (and is a substantial reason for Rust's popularity). Ruby's rubygems, node's npm, and the elm package manager all get different things right and wrong, but at least they are a common approach that is somewhat sane. Python is total anarchy. I think most people would disagree with you about .Net, Go, and Javascript today vs python.
- joeberon 5y agoI would guess that most people feel like .Net, Go, and Javascript have very easy distribution and package management
- recursive 5y ago.net is just nuget. It seems pretty straightforward. The last time I looked for a "blessed" solution in python, it was some third part solution surrounded in some kind of internet/twitter drama.
- OJFord 5y agoI'm no js/node fan, but I'd say it's a hell of a lot easier to install and manage dependencies with npm (or yarn) than in python. To the extent that people joke about/are horrified by the number of dependencies managed by them in a typical project. There's just a lot more tooling around it that's somewhat official/default/the one way. With pip you can manually pin versions, or 'freeze' what's currently installed, but then updating them is a manual effort or a third-party service like pyup.io. > which languages do people feel have excellent package management? Rust (technically cargo) is probably the best I've seen or used.
- brundolf 5y agoI think the most important thing Node did right was shipping an official package manager/manifest format/etc. alongside the runtime, from the very beginning. There is no fragmentation; yarn exists but it's a 100% equivalent drop-in replacement. Everybody's on the same page. Check out the source, run one command, and you're ready to go. The second most important thing they did right was install dependencies locally in the project directory. There is no global state or environment dependency (unless you go out of your way to install some tool globally). Want to do a clean install? rm -rf node_modules and you're done. The only system-wide prerequisite is a single Node installation. No environment variables, nothing. One mistake they did make was punting on the management of different Node versions, so you have to reach for nvm and any swapping-out has to happen at a global level. Cargo made the right decision to in-house this. However, even then, in my experience it's rarely an issue because Node is so stable.
- matheusmoreira 5y ago> Personally I’m also confused by Ruby. Please elaborate. I've found Ruby gems to be the simplest packaging system. You make a file containing the gem specification and that's pretty much it. The most annoying part for me was bikeshedding the neatest way to glob all files in the project. I will say that Ruby gems containing C extensions are really bad. It's cemented in mind the notion that foreign function interfaces must be built into the languages so that compiling code is never necessary. > which languages do people feel have excellent package management? Rust packages are really impressive. They just work. It's an isolated ecosystem like all the others, which is weird for a native language like Rust. Dependencies are mostly used at build time, many don't make it to the Linux distrubitons.
- dilawar 5y agoHaha.. I came to Python from C++ so it resonate with me. After getting used to rust a bit, my threshold of tolerance has gone way way down..
- qbasic_forever 5y agoStockholm syndrome can be very real in the python world. There needs to be room for critical discussion of the pain points in order to address them and improve the ecosystem.
- matheusmoreira 5y agoI simply don't understand this Python packaging insanity to this day. I tried, even released a few modules on PyPI. Why can't it just make sense? Like Ruby gems? Like Rust packages? Even Javascript packages are easier to understand. It's actually easier to make a PKGBUILD file for my C project. I love making libraries but this Python packaging stuff is just so painful. Such a shame, Python has a really nice module system. There's one feature that I love though: editable mode. Finally I can develop and use a library at the same time! I've been trying to accomplish this with git submodules since forever.