pip:即使存在,也要重新安装软件包

时间:2018-10-30 13:56:05

标签: python pip

我要运行<fieldset> <Checkbox name="roles" value="reports" id="role-valid" label="Reports Page" bind:checked=user.usrRoles.reports> <div class="pure-form-message-inline " slot="afterlabel">View Reports Page</div></Checkbox> </fieldset> <script> export default { components: { Checkbox: './forms/form-field-checkbox.html' }, }; </script> 命令;

我想一次又一次地运行同一命令;

问题在于pip install -r requirements.txt将包含一些wheel文件,这些文件可能具有相同的版本但源代码不同;

我想确保该软件包将重新安装,即从我的自定义点子仓库中再次获取;

我知道this topic,但是requirements.txt--ignore-installed之间的区别在我看来并不十分清楚;

我有--force-reinstall,我更改了源代码,并希望在执行somepack==1.1时再次从我的仓库中提取.whl

我应该使用哪个?我应该同时将两者合并吗?

它们有什么区别?

该软件包可能具有相同的版本,例如pip install 在某些时候可能具有增量版本。例如somepack==1.1

我希望始终安装(重新);

编辑:这是somepack==1.2点,至少在上述问题上我不太清楚

help

2 个答案:

答案 0 :(得分:4)

您要

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

--force-reinstall将删除现有软件包,然后安装当前版本。

--ignore-installed只会用当前版本覆盖现有版本,但不会删除在更新中删除的文件,这意味着您可能会在库安装中挂出不属于库的文件。

--upgrade(在这种情况下为冗余),仅对那些具有新版本的软件包强制重新安装。

答案 1 :(得分:1)

对于--force-reinstall,现有软件包(和依赖项)将首先被卸载,而对于--ignore-installed,则不会被卸载。

因此,--force-reinstall是首选选项,而--ignore-installed则更是紧急选择。

以下是示例输出:

> pip install --force-reinstall ipdb
Collecting ipdb
Collecting ipython<6.0.0,>=5.0.0; python_version == "2.7" (from ipdb)
  Using cached https://<...>/ipython-5.8.0-py2-none-any.whl
Collecting setuptools (from ipdb)
<...>
Installing collected packages: six, wcwidth, prompt-toolkit, decorator, setuptools, <...>
  Found existing installation: six 1.11.0
    Uninstalling six-1.11.0:
      Successfully uninstalled six-1.11.0
  Found existing installation: wcwidth 0.1.7
    Uninstalling wcwidth-0.1.7:
      Successfully uninstalled wcwidth-0.1.7
<...>
Successfully installed backports.shutil-get-terminal-size-1.0.0 colorama-0.4.0 <...>


> pip install --ignore-installed ipdb
Collecting ipdb
Collecting ipython<6.0.0,>=5.0.0; python_version == "2.7" (from ipdb)
<...>
Collecting setuptools (from ipdb)
<...>
Installing collected packages: six, wcwidth, prompt-toolkit, decorator, setuptools, <...>
Successfully installed <...>