28

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://)。

ただし、いずれかの選択肢 (switch、ignore、wipe、backup) を選択すると、正確にはどうなるのだろうか。pip ドキュメントで説明が見つかりません。

4

1 に答える 1

37

このオプションを説明するパッチは PIP ドキュメントにマージされましたが、Pip 6.0 (2014-12-22) までリリースされませんでした。( https://github.com/pypa/pip/commit/b5e54fc61c06268c131f1fad3bb4471e8c37bb25 )。そのパッチの内容は次のとおりです。

--exists-action オプション

このオプションは、パスが既に存在する場合のデフォルトの動作を指定します。考えられるケース: ファイルのダウンロードまたはインストール用のリポジトリのチェックアウト、アーカイブの作成。が定義されていない場合--exists-action、決定が必要なときに pip がプロンプトを表示します。

  • (スイッチ

    VCS チェックアウトにのみ関連します。チェックアウトを適切な URL やリビジョンに切り替えてみてください。

  • (無視

    現在の操作を中止します (例: ファイルをコピーしない、アーカイブを作成しない、チェックアウトを変更しない)。

  • (ワイプ

    新しいファイルを作成、ダウンロード、またはチェックアウトする前に、ファイルまたは VCS チェックアウトを削除してください。

  • (バックアップ

    ファイルまたはチェックアウトの名前を に変更します{name}{'.bak' * n}。ここで、n は.bak拡張子の数であり、ファイルがある時点で存在しないようにします。したがって、最新のバックアップは、 の後に最大の番号を持つものになり.bakます。

また、更新されたドキュメントのそのオプションの説明へのリンクは次のとおりです: https://pip.pypa.io/en/stable/cli/pip/#exists-action-option

于 2014-04-25T14:40:37.780 に答える