将 pex 与诗歌一起使用 pyproject.toml

Tra*_*alk 3 deployment python-pex python-poetry

我正在尝试弄清楚如何使用 pex 对 python 项目进行自动化(ish)部署。我目前有以下流程:

$ poetry run pip freeze > requirements.txt 
manually remove this-project line from requirements.txt
$ poetry run pex -r requirements.txt -o service.pex -e api:start --sources-directory=.
$ ./service.pex
Run Code Online (Sandbox Code Playgroud)

第二步的原因是,this-project如果我将该行留在其中,pex 将尝试在线查找。我理解这一点,但pip freeze确实将该行插入到requirements.txt. 我想知道的是:pex可以使用pyproject.toml还是poetry.lock直接使用?当前的解决方案是一种烦人的解决方案。

我看过2019 年教程,但它不起作用,因为当前版本的 pex 无法识别--project为选项。

任何其他建议将不胜感激。

Joh*_*ois 6

怎么样pex . -o service.pex -e api:start?Pex 了解如何构建任何 PEP-517 / PEP-518 pyproject.toml,如果您使用 Poetry,您就已经拥有了。