<p>pip install-rによって誤って解析されるpipフリーズ生成形式</p>

作成日 2014年09月15日  ·  3コメント  ·  ソース: pypa/pip

ピップフリーズ出力に次のような行があります。

-e [email protected]:widgets.git@3bdaf7d07c44a87c38beb1e8abd163a7edf99adc#egg=widgets
-e [email protected]:[email protected]#egg=gadgets

pip install -r requirements.txtを使用してインストールする場合、pipはexample.com:[email protected]をgitリポジトリの完全なURLとして誤って識別しているように見えますが、実際にはexample.com:gadgets.gitである必要があります。 3bda ... 99adcコミットを確認してください。

ピップフリーズ出力を使用してインストールしようとすると、たとえば

pip install -e [email protected]:[email protected]#egg=gadgets

同じエラーが発生します。

これはすべてpip1.5.4を使用しています

freeze vcs awaiting PR auto-locked bug

全てのコメント3件

次の変更により、正しく機能することに注意してください。

pip install -e [email protected]:/path/to/project/[email protected]#egg=project

または

pip install -e [email protected]:project.git#egg=project

後者では、明らかに現在のコミットのみをプルアップし、3bdafで指定されたコミットはプルアップしません…

また、私が理解していない理由で、githubへのリクエストに対しては機能します。

あれは、

pip install -e [email protected]:JordanReiter/[email protected]#egg=github_project

動作します。

これは#6293に似ています。 STDLIBに基づいて、パーサー( urlsplit問題はそれが全く含まれていないとき、URLのパス部分を特定している/すべてで、そして後に全部を識別+のようにnetlocnetlocpathは後で結合され、Gitに渡されるため(これは自動的に正しいことを行います)、revのないバリアントは完全に偶然に機能します。

#6293での議論は、SCPスタイルのURLサポートを完全に削除することを支持しているようです。したがって、ここでのより良い解決策は、代わりにgit+ssh:// URLを吐き出すpip freeze前になります。

#7554のgit+git@フォームを削除することを提案しているので終了します。

このページは役に立ちましたか?
0 / 5 - 0 評価