是否可以使用 pip 安装最新的标签?
Posted
技术标签:
【中文标题】是否可以使用 pip 安装最新的标签?【英文标题】:Is it possible to use pip to install the latest tag? 【发布时间】:2016-02-18 18:21:57 【问题描述】:可以使用 pip 安装特定标签:
pip install -e git+ssh://git@github.com/usr/repo.git@tag#egg=egg
但是,我似乎无法找到一种方法让它指向最新版本(这将是 releases/latest
),而不仅仅是指向 master 的 HEAD。有可能吗?
一个约束,它必须使用 ssh。
【问题讨论】:
嗯,你为什么不简单地指定标签的确切提交ID? @cel 提交对它们没有任何意义,而我可以告诉某人安装 1.0.3 版或其他东西。我不想每次发布版本时都更新我的 README,我希望我的用户使用最新版本。 【参考方案1】:如果您使用的是 python 包,这是一种方法:
setup.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,
)
然后在本地安装包
python -m pip install .
【讨论】:
很酷的解决方案!问:为什么不只是tag_url.split('/')[-1]
而不是tag_url.split('/')[::-1][0]
@Icnittl 好收获以上是关于是否可以使用 pip 安装最新的标签?的主要内容,如果未能解决你的问题,请参考以下文章