找不到Bazel构建包

时间:2017-07-13 20:28:53

标签: python bash tensorflow package bazel

我正在尝试运行从github tensorflow / models / adversarial_text下载的Tensorflow代码,但遇到了bazel构建错误。该错误看起来非常简单。但由于我以前没有使用过bazel,所以我很感激任何关于它的想法/建议。错误如下:

错误:/ home / dasgupta / adversarial_text / BUILD:60:1:没有这样的包'adversarial_text / data':在包路径上找不到构建文件,并由'//:inputs'引用。

内部adversarial_text / BUILD :(第60行 - 出现上述错误)是以下规则:

py_library(
    name = "inputs",
    srcs = ["inputs.py"],
    deps = [
        # tensorflow dep,
        "//adversarial_text/data:data_utils",
    ],

}

但是我看到有一个名为“adversarial_text / data”的目录,在adversarial_text / data / BUILD中也有这个规则:

py_library(
    name = "data_utils",
    srcs = ["data_utils.py"],
    deps = [
        # tensorflow dep,
    ],
)

我尝试添加

 visibility = ["//adversarial_text:__pkg__"], 

在data_utils的deps规则之后,但是没有解决问题。

我在这里可能缺少的任何想法,或者我可能需要设置/更改(环境变量?)才能使其工作。

我的配置:bash on Ubuntu 16.04,Tensorflow 1.2,bazel 0.5和python 2.7

3 个答案:

答案 0 :(得分:1)

可见性必须为//:__pkg__,因为adversarial_text是工作区的根。你应该尝试构建//:inputs

答案 1 :(得分:1)

总而言之,这是我在克隆项目后所做的工作。

1创建" WORKSPACE"文件在adversarial_text /

    touch WORKSPACE

2编辑adversarial_text / BUILD

中的代表
py_library(
    name = "inputs",
    srcs = ["inputs.py"],
    deps = [
        # tensorflow dep,
        "//data:data_utils",
    ],
)

py_test(
    name = "graphs_test",
    size = "large",
    srcs = ["graphs_test.py"],
    deps = [
        ":graphs",
        # tensorflow dep,
        "//data:data_utils",
    ],
)

3在adversarial_text / data / BUILD

中添加data_utils的可见性
py_library(
    name = "data_utils",
    srcs = ["data_utils.py"],
    deps = [
        # tensorflow dep,
    ],
    visibility = ["//:__pkg__"],
)

答案 2 :(得分:0)

现在应该修复,运行代码不再需要https://github.com/tensorflow/models/pull/3414

中的bazel