我正在尝试运行从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 回答
可见性必须为
//:__pkg__
,因为adversarial_text
是工作区的根 . 你应该尝试构建//:inputs
.总而言之,这是我在克隆项目后所做的工作 .
1在adversarial_text /中创建“WORKSPACE”文件
2编辑adversarial_text / BUILD中的deps
3在adversarial_text / data / BUILD中添加data_utils的可见性
这应该现在修复,运行代码不再需要bazel https://github.com/tensorflow/models/pull/3414