3 ms·
Pip is bad advertising - it's probably the worse package manager compared to, let's say, NPM.
by kolev 11y ago
Pip is bad advertising - it's probably the worse package manager compared to, let's say, NPM.
- mrharrison 11y agoWhy is it bad advertising? Pip works all the time for me, where NPM often doesn't work.
- ffn 11y agoWhy doesn't NPM work for you? If it's an user-permission thing (which is common if you installed node straight-up), consider installing nodejs using NVM (node version manager). This also has the advantage that you don't have to sudo npm.
- manghoti 11y agoI've had issues with NPM in the past due to having a proxy server on our network, and dealing with some absurdly arcane errors t oresolve it. The only package manager that I've ever had a problem with. That said, I don't tend to use node.js, so NPM's virtues illude me.
- mrharrison 11y agoI usually have to google two to three errors that popup on an npm install --save to get things working and sometimes I don't. Its quite inconsistent, but these issues are probably with node versioning as well. In any case I never have this issue with pip.
- rhodysurf 11y agoWhat makes it bad? It just works.
- kolev 11y ago"It just works" isn't an argument. Of course it works, but it doesn't work as nicely as NPM, RubyGems, and others.
- rhodysurf 11y agoCan you explain what doesn't work as nicely?
- kolev 11y agoWe all got used to the better tools and get their features of the box. I need to use a bunch of third-party tools with pip (which often break due to changes in the pip core) to have similar functionality available.
- rhodysurf 11y agoOk.... But what are those features that you got used to and that pip lacks? I actually dont know here. Like specifics.
- Ysx 11y agoI wouldn't say pip's the worst, but NPM outshines it in my opinion. Some useful features include: * `npm --save $PACKAGE` - installs a package, adds it to your dependencies list. Python's equivalent is `pip install`, `pip freeze` to get the installed version, and a manual edit of the requirements file. * Production dependencies & development dependencies. Python either has to use multiple files, or `setup.py`, which is vastly more complex. * Installation of modules within the source directory - no need of a virtualenv. This isn't always good news, but it's generally pretty useful. * Recursive dependencies. There's no global version of a module - your dependencies can in turn require different versions of other packages, without clobbering each other.
- pyre 11y ago> Installation of modules within the source directory - no need of a virtualenv. This isn't always good news, but it's generally pretty useful. This isn't really a feature of npm or a failing of pip. Isn't this more of an evaluation of Node.js vs. Python? I'm sure that if Python loaded a local python_modules directory by default, pip would use it.
- josegonzalez 11y agoNPM is not a great package manager either. Specifically, there is no way to do the following: - output your `node_modules` directory to anywhere other than the current directory. You can move it after the fact, but your package.json needs to be in CWD for npm to work. - move/don't use the `$HOME/.npm` directory - have deduplicated node dependencies in an app