3 ms·
I'll try to answer your questions. > How do I upgrade all packages with Pip? I don't know how to upgrade all packages, but I that's not something I want to do
by rhizome31 11y ago
I'll try to answer your questions.
> How do I upgrade all packages with Pip?
I don't know how to upgrade all packages, but I that's not something I want to do because I want to control which packages I upgrade. To upgrade a single package you can do
pip install --upgrade packagename
> Why are there multiple ways to install packages, e.g. eggs, setup.py, pip, easy_install (just off the top of my head)?
Egg is a package format. setup.py is a build script. pip and easy_install are package management tools. You use setup.py to build eggs that you install with easy_install or pip. You can also install directly with setup.py, but that's not something you'd generally do. pip is a better, more recent installation tool than easy_install.
> How does pip manage to break dependencies?
I'm not sure what you mean here.
> Why does no standard way to manage packages come pre-installed?
I guess the answer is because no one had bothered solving this issue until recently. Starting with Python 3.4, pip is included by default. See https://docs.python.org/3/installing/index.html https://docs.python.org/3/installing/index.html
> How do I pin packages at a version?
You list your packages with their version numbers in a requirement file that you can pass as an argument to pip. You can use pip freeze to get a list of currently installed packages with their pinned version numbers that you can include into your requirements file.
See http://pip.readthedocs.org/en/latest/user_guide.html#requirements-files http://pip.readthedocs.org/en/latest/user_guide.html#require...
> Why is there a need for virtual-env to exist as a separate project?
No need for that, it just hasn't been integrated in the standard distribution until fairly recently. Starting from Python 3.3, venv is included: https://docs.python.org/3/library/venv.html https://docs.python.org/3/library/venv.html
> Compare this to how languages like Go, Rust, Ruby, and Julia handle packages and dependencies and Python is an absolute disaster.
Absolute disaster is a bit strong, but it's admittedly not as good as the other languages you mentioned. I think every Python developer who knows other languages will agree. That doesn't stop us from getting our job done though and the situation is improving.