【问题标题】:pip install latest release from GitHubpip install 来自 GitHub 的最新版本
【发布时间】:2021-09-19 17:41:35
【问题描述】:

我知道我可以安装 master 分支:

pip install git+https://github.com/USER/REPO

我也知道我可以通过以下方式安装特定版本:

pip install git+https://github.com/USER/REPO@RELEASE

但是有没有办法安装最新版本(GitHub 在https://github.com/USER/REPO/releases/latest 返回的那个)?我尝试了以下方法:

pip install git+https://github.com/USER/REPO@latest

但它失败了:

ERROR: Command errored out with exit status 1: git checkout -q latest

编辑:这个问题不是Pip doesn't install latest GitHub release 的重复问题。后者是关于如何安装特定版本和/或从 master 分支,而不是从最新版本。

【问题讨论】:

标签: python github pip


【解决方案1】:

这可能是个坏主意,但您可以从 GitHub 的 rest API 获取最新的 tarball url:

pip install \
 $(python3 -c "import urllib.request, json, sys; \
 u=json.loads(urllib.request.urlopen('https://api.github.com/repos/USER/REPO/releases/latest').read().decode()).get('tarball_url', False);\
 print(u) if u else sys.exit(1);")

您使用命令替换$(..) 放入pip install

应该有几个可用的选项,tarball_urlzipball_url 和 pip 应该能够下载这些。

【讨论】:

    【解决方案2】:

    您可以使用 github API。类似的东西

    pip install "git+https://github.com/USER/REPO@$(curl -s https://api.github.com/repos/USER/REPO/releases/latest | jq -r ".tag_name")"
    

    可能对你有用。如果您不想安装 jq,例如this gist.

    【讨论】:

      猜你喜欢
      • 2018-12-13
      • 1970-01-01
      • 2014-01-15
      • 2021-10-13
      • 1970-01-01
      • 2014-06-13
      • 2021-09-14
      • 1970-01-01
      • 2015-11-28
      相关资源
      最近更新 更多