5 ms·
> Once you grok the virtual environment thing it's incredible how hard it is to get some people on board with this. I've gotten used to good project-local pack
by jdc0589 9y ago
> Once you grok the virtual environment thing
it's incredible how hard it is to get some people on board with this. I've gotten used to good project-local package management in other langauges, I can't imaging working with anything that depended on stuff happening to be available in a global namespace ever again.
- dom0 9y agoThere are still widely used packages that don't work with pip, like PyQt.
- whipoodle 9y agoIt is a bit more of a pain to work with than similar features in other languages. Like as far as I know you can't just move a venv, you have to rebuild it in the new place. Whereas `node_modules` is just a dir. Also, there is a weird layering where venv abstracts away installed eggs/wheels/whatever they're calling them these days, but then since that's still painful to work with, you need another layer on top like virtualenvtools or burrito or whatever it is. (Sorry, it's been a couple years so my memory is fuzzy)
- Zaak 9y agoYeah, Python's environment/import logic is really convoluted. It evolved organically with little forethought, and only got a minimal pruning with Python 3.
- chrshawkes 9y agoIt was essentially created by one dude no?
- qaq 9y ago"a bit"? honestly I would say it's much closer to a lot more pain
- whipoodle 9y agoI was being kind. :)
- wooly_bully 9y agoHave them try Pipenv! https://github.com/kennethreitz/pipenv https://github.com/kennethreitz/pipenv While virtualenv management isn't that difficult, Pipenv is VERY intuitive.
- gilrain 9y agoAs someone who has largely moved from Python to Node: it's not the concept of project-local packages that is the problem. It's virtualenv's awful implementation and UI.
- pletnes 9y agoTried conda or pipenv?
- andybak 9y agoMaybe I've got Stockholm Syndrome but I never have any trouble with pip. I don't find it any worse than npm for my usage patterns.
- jplatte 9y agoI'm one of those people who are really confused about the whole Python project management situation. Is there a resource where I can learn the equivalent of common operations found in other project management tools such as npm / yarn / cargo? E.g. is there something like 'cargo run' that just checks that the required python version is installed (I got the impression that this can be specified somewhere), installs deps if they're not installed yet and then runs the main module? Or something like 'npm install --save' that adds the latest version of a package you already know the name of as a dependency and installs it?