I've come across situations where a current version of a package seems not to be working and requires reinstallation. But pip install -U won't touch a package that is already up-to-date. I see how to force a reinstallation by first uninstalling (with pip uninstall) and then installing, but is there a way to simply force an "update" to a nominally current version in a single step?
- 40,124
- 45
- 174
- 373
-
3for those looking to re-install pip it self (if it stopped working for some reason ;) ), the answer can be found in [this](https://stackoverflow.com/questions/58451650/pip-no-longer-working-after-update-error-module-object-is-not-callable) SO q&a – nsof Nov 16 '19 at 17:18
7 Answers
pip install --upgrade --force-reinstall <package>
When upgrading, reinstall all packages even if they are already up-to-date.
pip install -I <package>
pip install --ignore-installed <package>
Ignore the installed packages (reinstalling instead).
-
2Any way to force an overwrite when using --target= flag? none of these worked for me. I get the destination path already exists error. – radtek Aug 05 '14 at 20:09
-
@KeeganQuinn do you think that's what Karan meant by "When upgrading"...? I suppose so. But your clarification certainly helps me. – The Red Pea Sep 06 '15 at 18:32
-
What if I want to make a change in zipline which is installed in the process of `pip install pipeline-live`, and simply pick up my change in zipline? – gseattle Jan 30 '19 at 06:18
-
Including `--upgrade` when `--force-reinstall` is being used shouldn't be needed as of pip 10.0, FYI: https://github.com/pypa/pip/issues/1139 – cjerdonek Feb 01 '19 at 16:45
-
While installing it saying `Using cached` for some packages, how to force their reinstall also? – mrgloom Jun 06 '19 at 17:14
-
2@mrgloom The `using cached`just means it uses source files that where cached on the last install. To force re-download use the `--no-cache-dir` flag. – lcnittl Jul 25 '19 at 07:03
-
I don't want to reinstall any dependencies - only just the single package. Is this possible / how ? Ah just see from next answer seems to be `--no-deps` – WestCoastProjects Sep 14 '19 at 12:50
-
1`pip install -U`, for short. (and the `--force-reinstall` option is rarely necessary) – smci Jun 15 '20 at 21:41
-
3Note that this command also reinstalls all dependencies. Add `--no-deps` to avoid that, as suggested in Finn’s answer below. – Skippy le Grand Gourou Jan 11 '21 at 13:03
-
2
You might want to have all three options: --upgrade and --force-reinstall ensures reinstallation, while --no-deps avoids reinstalling dependencies.
$ sudo pip install --upgrade --no-deps --force-reinstall <packagename>
Otherwise you might run into the problem that pip starts to recompile Numpy or other large packages.
- 5,450
- 1
- 27
- 37
-
2This also works for offline installs, while the excepted answer doesn't. – orodbhen Jun 01 '18 at 14:24
-
6This is a better solution for packages with a large number of dependencies that do not need to be reinstalled. – Assil Ksiksi Nov 15 '18 at 15:43
-
1
-
1
-
@FinnÅrupNielsen why it should upgrade current version? as I understand here we want to reinstall package. What if `
== – mrgloom Aug 19 '19 at 17:06` format is used? -
@mrgloom `--force-reinstall` alone does not necessarily upgrade to the current version (at least not in pip 9.0.1). There has been an upgrade according to https://github.com/pypa/pip/issues/1139 see cjerdonek's answer, so newer versions do not require the option. – Finn Årup Nielsen Aug 19 '19 at 17:28
-
-
1macOS: You shouldn't run sudo with pip on a mac . Run as admin rights user but without sudo . On Linux (Ubuntu): it makes sense to run with `sudo` to install for all users. Don't run sudo with `--user` as that will install packages under `root` user only. – wesinat0r Jul 21 '20 at 12:46
-
So by default all dependent projects likewise get updated too from the `--upgrade` flag, is that right? – jxramos Dec 18 '20 at 20:04
If you want to reinstall packages specified in a requirements.txt file, without upgrading, so just reinstall the specific versions specified in the requirements.txt file:
pip install -r requirements.txt --ignore-installed
- 1,491
- 17
- 37
-
And if you want to avoid using the local cache, add the option --no-cache-dir – Davy Feb 15 '22 at 14:31
--force-reinstall
doesn't appear to force reinstall using python2.7 with pip-1.5
I've had to use
--no-deps --ignore-installed
- 617
- 5
- 12
-
25You must specify `--upgrade` in addition to `--force-reinstall`, or it won't have any effect. – Keegan Quinn Feb 12 '14 at 04:32
In the case you need to force the reinstallation of pip itself you can do:
python -m pip install --upgrade --force-reinstall pip
- 306
- 2
- 4
sudo pip3 install --upgrade --force-reinstall --no-deps --no-cache-dir <package-name>==<package-version>
Some relevant answers:
Difference between pip install options "ignore-installed" and "force-reinstall"
- 17,637
- 28
- 146
- 263
If you have a text file with loads of packages you need to add the -r flag
pip install --upgrade --no-deps --force-reinstall -r requirements.txt
- 1,758
- 16
- 17