如何在Bazel中包含Python解释器来构建Python库(sdist)

2024-06-25 06:24:32 发布

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

如何(气密地)将python作为genrule的(可执行)输入?在

从概念上讲,我知道以下方法:

这样做似乎也有几种方法:


示例:

我有一个python库:

myproject
- setup.py
- mylibrary
  - __init__.py
  - myfunction.py

我想用Bazel生成一个pip install的发行版,这样我就可以:

^{pr2}$

我在myproject/WORKSPACE处添加了一个(空的)WORKSPACE文件,并遵循this medium article中的示例:

# myproject/BUILD
genrule(
    name = "mylibrary_sdist",
    srcs = glob(["**/*.py"]),
    outs = ["mylibrary.tar.gz"],
    cmd = "python setup.py sdist && mv dist/mylibrary*.tar.gz $(location mylibrary.tar.gz)"
)

这是可行的(例如,产生bazel-genfiles/mylibrary.tar.gz),但我要做的是python。在

如何(气密地)将python作为genrule的(可执行)输入?在


Tags: 方法py概念示例includemyprojectsetuptar