如何将codegen集成到python包中

2024-05-16 03:25:53 发布

您现在位置:Python中文网/ 问答频道 /正文

在使用了十多年的专有打包方法之后,我刚刚开始涉足python打包。你知道吗

我有一个用于生成python代码的数据文件,它是在Windows和Linux上运行的包的一部分。我正在尝试将它集成到我的构建过程(tox/TravisCI)中,以生成我的包并上传到PyPI。尽管生成器是用python编写的,但可以将数据文件看作类似于protobuf的.proto文件。你知道吗

我曾想过但被拒绝的选择

  • 通过在导入时读取数据文件动态创建对象
    • 缺点:调试构建过程比较困难,因为你不能读取代码
    • 缺点:限制了静态分析的实用性(flake8,mypy)
  • 签入生成的代码(我当前所做的)
    • 缺点:更多的手动步骤意味着更多的机会犯错误
    • 缺点:贡献者缺少代码生成器并修改生成的输出

理想情况下,解决方案将很容易让我们的任何Windows或Linux用户加快速度,以消除回馈的障碍。你知道吗


Tags: 文件方法代码pypitox过程linuxwindows