是否可以使用pip来安装最新的标签?

ver*_*lon 6 python pip

可以使用pip来安装特定标签:

pip install -e git+ssh://git@github.com/{usr}/{repo}.git@{tag}#egg={egg}
Run Code Online (Sandbox Code Playgroud)

但是,我似乎无法找到一种方法来指向最新版本(这将是releases/latest),而不仅仅是对主人的HEAD.它可能吗?

一个约束,它必须使用ssh.

Rag*_*use 1

如果您使用 python 包,这里是一种方法:


安装程序.py

import setuptools
import urllib.request


deps = [
    {
        'name': 'gunicorn',
        'url': 'github.com/benoitc/gunicorn',
    },
]

for i in range(len(deps)):
    tag_url = urllib.request.urlopen(f"https://{deps[i]['url']}/releases/latest").geturl()
    latest_tag = tag_url.split('/')[-1]
    deps[i] = f"{deps[i]['name']} @ git+ssh://{deps[i]['url']}@{latest_tag}"

setuptools.setup(
    install_requires=deps,
)

Run Code Online (Sandbox Code Playgroud)

然后将包安装到本地

python -m pip install .
Run Code Online (Sandbox Code Playgroud)

  • 很酷的解决方案!问题:为什么不只是 `tag_url.split('/')[-1]` 而不是 `tag_url.split('/')[::-1][0]` (2认同)