Difference between pip install options “ignore-installed” and “force-reinstall”
有两个与重新安装软件包有关的
这两个选项在官方文档中描述如下
1 2 3 4 5 | --force-reinstall Reinstall all packages even if they are already up-to-date. -I, --ignore-installed Ignore the installed packages (reinstalling instead). |
似乎它们都忽略了某些东西并进行了重新安装,但是我不能说出它们之间的区别(如果我实际执行它们,我可以看到一些区别……但我无法解释)。 如果我搜索"以pip强制重新安装软件包",结果将同时列出
在安装软件包之前,请先将其卸载(如果已安装)。与为软件包及其每个依赖项运行
忽略软件包及其Dep是否已经安装,覆盖已安装的文件。这意味着您可能会遇到
1 2 3 4 5 | $ pip show -f pkgname Name: pkgname Version: 1.0 ... spam.py |
下一个版本
后果
例
重现最新
1 2 3 | $ mkvirtualenv testenv $ workon testenv (testenv) $ pip install"pip<10" |
如果现在要通过
1 2 3 4 5 6 7 8 | (testenv) $ pip install pip --upgrade --force-reinstall (testenv) $ ls -l $VIRTUAL_ENV/lib/python3.7/site-packages/pip total 16 -rw-r--r-- 1 hoefling staff 21 19 Aug 11:47 __init__.py -rw-r--r-- 1 hoefling staff 623 19 Aug 11:47 __main__.py drwxr-xr-x 4 hoefling staff 128 19 Aug 11:47 __pycache__ drwxr-xr-x 25 hoefling staff 800 19 Aug 11:47 _internal drwxr-xr-x 26 hoefling staff 832 19 Aug 11:47 _vendor |
如果您改为使用
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | (testenv) $ pip install pip --upgrade --ignore-installed (testenv) $ ls -l $VIRTUAL_ENV/lib/python3.7/site-packages/pip total 392 -rw-r--r-- 1 hoefling staff 21 19 Aug 12:33 __init__.py -rw-r--r-- 1 hoefling staff 623 19 Aug 12:33 __main__.py drwxr-xr-x 14 hoefling staff 448 19 Aug 12:33 __pycache__ drwxr-xr-x 25 hoefling staff 800 19 Aug 12:33 _internal drwxr-xr-x 28 hoefling staff 896 19 Aug 12:33 _vendor -rw-r--r-- 1 hoefling staff 11910 19 Aug 12:33 basecommand.py -rw-r--r-- 1 hoefling staff 10465 19 Aug 12:33 baseparser.py -rw-r--r-- 1 hoefling staff 16474 19 Aug 12:33 cmdoptions.py drwxr-xr-x 16 hoefling staff 512 19 Aug 12:33 commands drwxr-xr-x 5 hoefling staff 160 19 Aug 12:33 compat -rw-r--r-- 1 hoefling staff 32153 19 Aug 12:33 download.py -rw-r--r-- 1 hoefling staff 8121 19 Aug 12:33 exceptions.py -rw-r--r-- 1 hoefling staff 39950 19 Aug 12:33 index.py -rw-r--r-- 1 hoefling staff 5626 19 Aug 12:33 locations.py drwxr-xr-x 5 hoefling staff 160 19 Aug 12:33 models drwxr-xr-x 6 hoefling staff 192 19 Aug 12:33 operations -rw-r--r-- 1 hoefling staff 10980 19 Aug 12:33 pep425tags.py drwxr-xr-x 8 hoefling staff 256 19 Aug 12:33 req -rw-r--r-- 1 hoefling staff 156 19 Aug 12:33 status_codes.py drwxr-xr-x 16 hoefling staff 512 19 Aug 12:33 utils drwxr-xr-x 8 hoefling staff 256 19 Aug 12:33 vcs -rw-r--r-- 1 hoefling staff 32010 19 Aug 12:33 wheel.py |
用