首页 文章

找不到Bazel构建包

提问于
浏览
0

我正在尝试运行从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

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

  • 1

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

    1在adversarial_text /中创建“WORKSPACE”文件

    touch WORKSPACE
    

    2编辑adversarial_text / BUILD中的deps

    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__"],
    )
    
  • 0

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

相关问题