安装带有附加限定符的pip包

  • 本文关键字:pip 安装 pip python-packaging
  • 更新时间 :
  • 英文 :


我们的CI管道为具有

版本的分支发布轮子
<base version>-dev<timestamp>+<branch name>.p<pipeline id>

所以如果我在xyzzy分支上工作cool-stuff,它可能会上传1.2.3.dev202211221111+xyzzy.p1234版本的轮子

foobar分支工作的其他人可能会创建1.2.3.dev202211221115+foobar.p1235

如何让pip安装xyzzy分支的最新版本?我尝试了pip install cool-stuff>1.2.3.dev*+xyzzy,但它抱怨它找不到匹配的版本(即使它列出的可用版本包括+xyzzy标记)

pip install cool-stuff==1.2.3.dev202211221111+xyzzy.p1234确实有效,但我不希望每次都必须更新时间戳和管道编号。我希望把cool-stuff >= <magic>在我的配置文件,只是运行pip install -e .每当我需要新的依赖关系。

这里我需要使用什么格式?

据我所知,这是不可能的。我不能想到一个可行的解决方案,将基于版本字符串只有。"local"版本字符串的一部分(换句话说,加号+后面的部分)不能用来区分两个版本。

如果我在你的情况下,我想我会研究一个解决方案,让CI/CD管道根据git分支生成具有自定义名称的发行版。例如,在您的案例中,管道应该为Library-foobarLibrary-xyzzy生成轮子,这取决于当前正在处理的分支(当然仍然保持相同的顶级导入名称)。这假定您可以定制您的管道和过程,以足够深入地支持这样的工作流。

最新更新