如何使用Bazel构建Python PEX?

时间:2019-05-07 14:35:00

标签: python bazel pex

我试图在Mac OS X中为我的Apache Heron应用程序(用Python编写)构建一个pex_binary,但是它失败并出现错误。

下面的bazel构建错误的详细信息。

$bazel build pmTop
ERROR: /Arun/Python/Heron/PatMon/WORKSPACE:1:1: name 'git_repository' is not defined
ERROR: Error evaluating WORKSPACE file
ERROR: error loading package '': Encountered error while reading extension file 'pex/pex_rules.bzl': no such package '@io_bazel_rules_pex//pex': error loading package 'external': Could not load //external package
ERROR: error loading package '': Encountered error while reading extension file 'pex/pex_rules.bzl': no such package '@io_bazel_rules_pex//pex': error loading package 'external': Could not load //external package
INFO: Elapsed time: 0.104s
INFO: 0 processes.
FAILED: Build did NOT complete successfully (0 packages loaded)

下面我的工作空间的内容。

git_repository(
    name = "io_bazel_rules_pex",
    remote = "https://github.com/benley/bazel_rules_pex.git",
    tag = "0.3.0",
)

load("@io_bazel_rules_pex//pex:pex_rules.bzl", "pex_repositories")
pex_repositories()

下面的挡板版本详细信息。

$bazel version
Build label: 0.25.0
Build target: bazel-out/darwin-opt/bin/src/main/java/com/google/devtools/build/lib/bazel/BazelServer_deploy.jar
Build time: Wed May 1 21:47:49 2019 (1556747269)
Build timestamp: 1556747269
Build timestamp as int: 1556747269

不确定,为什么它无法获取pex_rules.bzl软件包。我不在防火墙后面。感谢所有解决此问题的指针。

1 个答案:

答案 0 :(得分:0)

git_repository规则未知。在您的WORKSPACE文件顶部添加以下语句

load("@bazel_tools//tools/build_defs/repo:git.bzl", "git_repository")