首页 > 解决方案 > 如何使用 Poetry 从特定的 git 分支安装 Stem?

问题描述

我正在尝试将 Python 库Stem安装为另一个使用 Poetry OnionShare的 Python 应用程序的依赖项。

具体来说,我正在尝试安装 Stem git 存储库的特定分支“maint”。

我运行此命令并得到后续错误:

poetry add git+https://github.com/torproject/stem.git#maint


[RuntimeError]
Unable to retrieve the package version for /tmp/pypoetry-git-stem9gmhpzio

这看起来像这里描述的这个问题-因此,Poetry 无法解析项目中的“版本”,setup.py因为它不是一个简单的字符串,它需要以 Poetry 不会做的方式枚举。

所以我尝试分叉回购,并将“名称”和“版本”setup.py更改为简单的字符串,但我仍然遇到同样的错误。

Stem 开发人员对使其与 Poetry 一起工作(或与 Stem 有任何关系)不感兴趣

Stem 需要进行哪些更改setup.py才能使其与 Poetry 一起使用?

谢谢!

标签: pythonpython-poetry

解决方案


我最终设法让它工作。它是以下各项的组合:

  1. 硬编码版本字符串(根据上述诗歌上游问题的链接)

  2. 使用from distutils.core import setupthensetup()而不是distutils.core.setup()直接调用

  3. 不要使用 try/finally 语句

只有在所有这三个都更改后,Poetry 才对 Stem 的 setup.py 感到满意。我仍然不确定为什么,但至少它现在有效。


推荐阅读