如果您的项目依赖TensorFlow,建议您添加...
load("//tensorflow:workspace.bzl", "tf_workspace")
tf_workspace()
...到您的WORKSPACE
文件,该文件将加载TF的所有依赖项。
但是,如果您查看TensorFlow的workspace.bzl
文件...
https://github.com/tensorflow/tensorflow/blob/master/tensorflow/workspace.bzl
您会看到它取决于@io_bazel_rules_closure
中的规则。这意味着您还必须在@io_bazel_rules_closure
文件中定义此WORKSPACE
规则,并使其与TensorFlow保持同步,即使您在项目中的其他任何地方都不需要它。
是否可以通过某种方式/某处将load()
命令添加到tf_workspace()
宏中?
谢谢!
答案 0 :(得分:1)
否,由于https://github.com/tensorflow/tensorflow/blob/master/tensorflow/workspace.bzl中定义的云雀规则tf_workspace()
需要加载tf_workspace()
,因此无法在@io_bazel_rules_closure
中添加此规则。
基本上有两种方法可以使这项工作
tensorflow项目会重新定义其规则,使其仅使用内部规则或本机规则。
或bazel能够加载依赖项的工作空间(并且我假设也加载所有传递依赖项)。这是一个难题,#1943中对此进行了跟踪。