使用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文档中找到解释。
答案 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。