繁体   English   中英

如何在我的 Pipfile 中指定自定义 Git 分支?

[英]How can I specify a custom Git branch in my Pipfile?

可以在自定义 Git 存储库的Pipfile包中指定。 但是我找不到关于如何指定具体分支或用于安装的提交的综合文档。

是否有关于如何使用 pipfile 中 88176540434488 包的Pipfile URL 的完整参考,这些 URL 由pipenv支持以指定自定义分支、版本或提交?

将它与等效pipenv命令行 arguments 一起使用会非常好。

以下是 pipenv 的 GitHub 存储库上的一些文档:

您可以使用根据以下规则格式化的 URL 从 git 和其他版本控制系统安装带有 pipenv 的包:

<vcs_type>+<scheme>://<location>/<user_or_organization>/<repository>@<branch_or_tag>#egg=<package_name>

https://github.com/pypa/pipenv/blob/master/docs/basics.rst#-a-note-about-vcs-dependencies

所以,例如:

[packages]
requests = {git = "https://github.com/requests/requests.git", editable = true, ref = "v2.20.1"}

您可以使用命令行生成 Pipfile。 上面的 Pipfile 是通过以下方式生成的:

pipenv install -e git+https://github.com/requests/requests.git@v2.20.1#egg=requests

pip 的文档在这里有更详细的介绍

pip package 档案室

除了Alex 的出色回答之外,您还可以在存储库的压缩副本上使用pip的“存档”格式。 几个代码主机自动提供 zip 个文件在可预测的 URL。

我为什么要这样做?

VCS 安装工作得很好。 如果您要安装的机器没有 Git,则此替代方法很方便,例如“苗条”容器映像 以前的报告表明这种方法比 Git 更快,但现在看来它们具有可比性。

例子

在下面的代码示例中将标记替换为您想要的值。

场地 描述
<package> package 的名称。(与setup.py 中的包名称匹配!)
<user> 存储库所有者
<repo> 存储库名称
<refname> 分支、标记或提交 SHA。 Bitbucket 也可以使用default作为默认分支。

Pipfile

[packages]
<package> = {file = "https://github.com/<user>/<repo>/archive/<refname>.zip"}
<package> = {file = "https://bitbucket.org/<user>/<repo>/get/<refname>.zip"}
<package> = {file = "https://codeberg.org/<user>/<repo>/archive/<refname>.zip"}
<package> = {file = "https://gitlab.com/<user>/<repo>/-/archive/<refname>/<repo>-<refname>.zip"}

命令行安装

pipenv install https://github.com/<user>/<repo>/archive/<refname>.zip
pipenv install https://bitbucket.org/<user>/<repo>/get/<refname>.zip
pipenv install https://codeberg.org/<user>/<repo>/archive/<refname>.zip
pipenv install https://gitlab.com/<user>/<repo>/-/archive/<refname>/<repo>-<refname>.zip

警告

2017 年2018 年的报告表明,与pip不同, pipenv不会从 zips 递归安装依赖项 不过,依赖关系对我来说工作得很好。 2018 年 9 月的这次提交是我对事情何时发生变化的最佳猜测,但如果您不知道,请评论或编辑。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM