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