Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to reinstall a pip package even if it exists

Tags:

python

pip

I want to run a pip install -r requirements.txt command;

I want to run the same command over and over again;

The issue is that requirements.txt will include some wheel files which may have the same version but different source code;

I want to make sure the package will be reinstalled, i.e. fetched again from my custom pip repo;

I am aware of this topic, but the distinction between --ignore-installed and --force-reinstall does not seem very clear to me;

I have e.g. somepack==1.1, I change the source code and I want the .whl to be fetched again from my repo when performing pip install;

Which one should I use? Should I incorporate both?

What is their difference?

The package may have the same version, e.g. somepack==1.1 or it may have incremental versions at some point. e.g. somepack==1.2

I want it to be always (re)installed;

edit: This is the help of pip which does not seem very clear to me at least in the above issue

  --force-reinstall           Reinstall all packages even if they are already up-to-date.
  -I, --ignore-installed      Ignore the installed packages (reinstalling instead).
like image 755
pkaramol Avatar asked Oct 30 '18 13:10

pkaramol


People also ask

How do I force reinstall pip package?

To force re-download use the --no-cache-dir flag. Note that this command also reinstalls all dependencies.

Does uninstalling pip remove packages?

Unfortunately, pip does not uninstall dependencies when you uninstall the original package. Here are a couple of different procedures that can be used to uninstall dependencies. These dependencies can then be uninstalled with the pip uninstall command.


1 Answers

You want:

pip install -r requirements.txt --upgrade --force-reinstall

--force-reinstall will remove the existing packages and then install the current versions.

--ignore-installed will just overwrite the existing with the current version, but will not remove files that were deleted in the update, meaning you may have files hanging out in your library install that aren't part of the library.

--upgrade (redundant in this case), does force-reinstall for only those packages for which there is a new version.

like image 79
Zags Avatar answered Oct 25 '22 04:10

Zags