4 ms·
Is there anything that even remotely comes close to bundler in power and ease of use? Suppose for example that I want to upgrade a package and all packages that
by yxhuvud 10y ago
Is there anything that even remotely comes close to bundler in power and ease of use? Suppose for example that I want to upgrade a package and all packages that it depends on, how would that be done? Or suppose I have different environments a project can be run in that should load slightly different set of dependencies?
- StavrosK 10y ago> Is there anything that even remotely comes close to bundler in power and ease of use? Yes, pip, since before bundler existed. > Suppose for example that I want to upgrade a package and all packages that it depends on, how would that be done? pip install --upgrade package > suppose I have different environments a project can be run in that should load slightly different set of dependencies? venv activate myproject
- actsasbuffoon 10y agoThere's a bit that's still lacking in Pip. For instance, Pip only installs new packages into your venv, rather than trying to keep it synchronized. I've run into bugs where someone ripped a library out of requirements.txt because they thought it wasn't being used any longer. Turns out it was still being used, but the dev couldn't tell because the lib was still in their venv. Tools like Bundler will actually take the dependency away from you. Python's packaging system is great compared to C, but it's primitive compared to Ruby, Haskell, Clojure, and lots of others.
- chronial 10y agohttps://github.com/nvie/pip-tools https://github.com/nvie/pip-tools solves this by providing pip-sync, which will uninstall removed packages.
- Nullabillity 10y ago> Is there anything that even remotely comes close to bundler in power and ease of use? Maven and co. > Suppose for example that I want to upgrade a package and all packages that it depends on, how would that be done? Change the version number in pom.xml/build.sbt/build.gradle. Done. > Or suppose I have different environments a project can be run in that should load slightly different set of dependencies? Define a new project that depends on your main project and the extra dependencies.
- yxhuvud 10y agoAh yes. The question was about the Python ecosystem. There are other good solutions for other platforms.
- krakensden 10y agoBundlers default-global behavior is a disaster. Last time I got hired at a ruby shop none of the scripts worked, most projects didn't have a lock file, etc. Because they just ran the things directly, using whatever from the global environment.