使用pip从存储库安装软件包时,使用(i)gnore,(w)ipe,(b)ackup选项意味着什么?

时间:2013-10-09 15:53:01

标签: python git pip

使用pip安装软件包时,收到以下消息:

Obtaining some-package from git+git://github.com/some-user/some-package.git@commit-hash#egg=some_package-dev (from -r requirements.txt
 (line 3))
  git clone in /Users/me/Development/some-env/src/some-package exists with
 URL https://github.com/some-user/some-package.git
  The plan is to install the git repository git://github.com/some-user/some-package.git
What to do?  (s)witch, (i)gnore, (w)ipe, (b)ackup

我看到这种特殊情况可能是由于URL中的协议更改造成的(新要求使用git://,而已安装的则使用https://)。

但是,我想知道如果我选择其中一个选项(切换,忽略,擦除,备份)会发生什么。我无法在pip文档中找到解释。

1 个答案:

答案 0 :(得分:34)

解释此选项的补丁已合并到PIP文档中,但直到Pip 6.0(2014-12-22)才发布。 (https://github.com/pypa/pip/commit/b5e54fc61c06268c131f1fad3bb4471e8c37bb25)。这是补丁说的:

  

- 存在操作选项

     

此选项指定路径已存在时的默认行为。   可能的情况:下载文件或签出存储库进行安装,   创建档案。如果未定义--exists-action,则会提示pip   在需要决定时。

     
      
  • (S)女巫

         

    仅与VCS结帐相关。尝试切换结帐   到适当的网址和/或修订版。

  •   
  • (ⅰ)gnore

         

    中止当前操作(例如,不要复制文件,不要创建存档,   不要修改结账。

  •   
  • (w)的IPE

         

    在尝试创建,下载或结帐新文件之前删除文件或VCS结帐。

  •   
  • (b)中ackup

         

    将文件或结帐重命名为{name}{'.bak' * n},其中n是某个数字   .bak个扩展名,以便文件在某些​​时候不存在。   因此,最新的备份将是.bak之后编号最大的备份。

  •   

以下是现在更新文档中该选项说明的链接:https://pip.pypa.io/en/latest/reference/pip.html#exists-action-option