是否可以使用 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 安装最新的标签?的主要内容,如果未能解决你的问题,请参考以下文章

如何在github中自动保留特定数量的最新标签?

在帝国cms中,怎么调用所有新闻系统中的最新文章,热门文章。是否用灵动标签呢。

labelImg安装及使用(YOLO标签为例)

Python pip 安装与使用

安装部署问题

Python pip 安装与使用