【发布时间】:2020-10-29 13:07:44
【问题描述】:
我维护一个名为 switch_model 的 conda-forge 包。在我们上一个版本 (2.0.5) 之后,我们依赖的一个包进行了不兼容的更改。所以我正在尝试发布一个发布后,2.0.5.post2,它需要该软件包的旧版本。
我已经成功地在PyPi 上创建了发布后,我可以使用pip 成功安装。我还更新了我的 meta.yaml 的食谱并将其推送到 github (https://github.com/conda-forge/switch_model-feedstock/blob/master/recipe/meta.yaml)。
现在,conda-forge 网站https://anaconda.org/conda-forge/switch_model 将最新版本标识为2.0.5.post2。但是当我尝试使用conda install -c conda-forge switch_model 安装到我的计算机时,它说它将安装较旧的2.0.5 版本。如果我尝试conda install -c conda-forge switch_model=2.0.5.post2,我会收到一条找不到它的消息。但是,如果我使用conda install -c conda-forge/label/main switch_model,它会安装最新版本(2.0.5.post2)。
就目前而言,新版本在 conda-forge 上,但尝试安装我的包的人仍然会得到具有错误依赖项的旧版本,并且无法正常工作。
有人知道如何让conda 自动安装发布后的版本吗?我可能需要将switch_model-feedstock 存储库分叉到我在 github 上的个人帐户中,然后向 conda-forge 帐户发出拉取请求。但是我不确定这是否会有所作为(我认为我没有为原始 2.0.5 版本这样做),而且我不确定我将如何追溯,因为我已经推动了将新版本的meta.yaml 放入存储库的 conda-forge 版本中。
更新
当我写完这个问题时,2.0.5.post2 版本现在默认安装。所以我可能只需要等到交付系统发生某些事情。所以我现在的问题是,我可以做些什么来测试新版本的软件包很快可供用户使用(例如,清除一些可用版本的缓存)?如果我通过来自另一个存储库的拉取请求而不是直接推送到 conda-forge 版本来更新包,会有什么不同吗?
【问题讨论】:
标签: anaconda conda conda-forge