gpt4 book ai didi

python - 如何(密封地)在 Bazel 中包含 Python 解释器以构建 Python 库(sdist)

转载 作者:太空宇宙 更新时间:2023-11-03 11:39:37 25 4
gpt4 key购买 nike

我如何(密封地)将 python 作为(可执行)输入包含到我的 genrule 中?

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

似乎还有一些方法可以做到这一点:


示例:

我有一个 python 库:

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

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

pip install <path/to/distribution>
python
>>> from mylibrary.myfunction import helloworld
>>> helloworld()

我在 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 中?

最佳答案

除非我误解了你的问题,否则这应该只是将实际路径传递给目标 python 可执行文件的问题。我会将 python 可执行文件检查到 third_party 目录中,而不是简单地使用 python 调用你的 genrule 我会传递相对于 WORKSPACE< 的可执行文件的相对路径

关于python - 如何(密封地)在 Bazel 中包含 Python 解释器以构建 Python 库(sdist),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52228140/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com