4 ms·
I've had more trouble with pip than any other package manager. Heck, one of my projects on GitHub currently has a broken CI pipeline because some newer version
by umvi 5y ago
I've had more trouble with pip than any other package manager. Heck, one of my projects on GitHub currently has a broken CI pipeline because some newer version of pip broke deployments to pypi and I haven't investigated why yet.
And plus, it's just super confusing. It's never been clear to me what the difference between pip and pip3 is. I thought pip3 was for python3 packages, but it seems like pip can also be used for python3 as well. But then sometimes it seems like if I use pip I only get the python2 version.
With npm or go get, if I install a package I know exactly where it got installed a how to mnaually remove if needed. If I install something with pip, the newly installed package goes into some mysterious directory whose location is never quite certain.
So yes, there are major problems with pip, hence why competitors are showing up like poetry.
- psidex 5y ago> It's never been clear to me what the difference between pip and pip3 is. I thought pip3 was for python3 packages, but it seems like pip can also be used for python3 as well. But then sometimes it seems like if I use pip I only get the python2 version. It's pretty simple; pip3 will always be for python3, pip2 will always be for python2. pip is context dependent, for example if you are in a python2 venv, it will use py2, and vice versa. > With npm or go get, if I install a package I know exactly where it got installed a how to mnaually remove if needed. If I install something with pip, the newly installed package goes into some mysterious directory whose location is never quite certain. If you pip install a library, it will almost definitely be installed in pythondir/lib/site-packages, unless you have messed around with your installation
- bostonsre 5y agoThink you might need to downgrade pip (using pip) to the version that is less strict when checking dependencies (i forget the exact version, think maybe 22). pip install "pip<22" To check which pip is for which python: pip --version Pyenv is pretty great for managing multiple python versions.
- dragonwriter 5y ago> It's never been clear to me what the difference between pip and pip3 is. pip3 is the name of the system installation of the pip executable corresponding to the python 3.x installation on linux systems (maybe Mac, too) when installed from system package managers on systems where python3 is the name of the python 3.x executable when installed from the package manager. This is not really a pip issue, but a “how python is packaged to support side-by-side system installations” issue.
- disabled 5y agoAlways use pipenv (although somebody else suggested pip-tools as better than pipenv) instead of pip for package installs. You can install pipenv using pip. It works /so much better/ than regular pip. Pipenv installs the right versions for the dependencies needed for the package you are installing, very well. It is astonishing how much better it works compared to pip. Personally, I use pipenv (manages package dependencies and sub-dependencies), pyenv (python version management), and pyenv-virtualenv (creates an isolated version of Python such as 3.8) together, in tandem, over poetry and others. Personally, I think this combination gives the best amount of versatility. This even works well with difficult installs of python packages that need to be compiled into executable software. This includes stuff that has not been recently updated. A good guide on how to do this is here (see table comparison against poetry at the bottom of the article): https://towardsdatascience.com/python-environment-101-1d68bda3094d https://towardsdatascience.com/python-environment-101-1d68bd...