可以使用pip来安装特定标签:
pip install -e git+ssh://git@github.com/{usr}/{repo}.git@{tag}#egg={egg}
然而,我似乎无法找到一种方法来指向最新版本(这将是releases/latest
),而不仅仅是指向主人的HEAD。它有可能吗?
一个约束,它必须使用ssh。
答案 0 :(得分:0)
您无需进行可编辑安装(-e
):
pip install git+ssh://git@github.com/{usr}/{repo}.git@{tag}
也应该有效。
答案 1 :(得分:0)
如果您使用的是python软件包,这是执行此操作的一种方法:
setup.py
import setuptools
import urllib.request
deps = [
{
'name': 'gunicorn',
'url': 'https://github.com/benoitc/gunicorn',
},
]
for i in range(len(deps)):
tag_url = urllib.request.urlopen(f"{deps[i]['url']}/releases/latest").geturl()
latest_tag = tag_url.split('/')[::-1][0]
deps[i] = f"{deps[i]['name']} @ git+{deps[i]['url']}@{latest_tag}"
setuptools.setup(
install_requires=deps,
)
然后在本地安装软件包
python -m pip install -e .