首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Skylark宏中运行load()

在Skylark宏中运行load()
EN

Stack Overflow用户
提问于 2018-09-24 15:47:09
回答 1查看 284关注 0票数 0

如果您的项目依赖于TensorFlow,建议您添加.

load("//tensorflow:workspace.bzl", "tf_workspace") tf_workspace()

...to您的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()宏中?

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-02 15:00:56

不,无法在tf_workspace()中添加此规则,因为https://github.com/tensorflow/tensorflow/blob/master/tensorflow/workspace.bzl中定义的skylark规则tf_workspace()需要加载@io_bazel_rules_closure

基本上,有两种方法可以使这一工作。

  • tensorflow项目重新定义其规则,使其只使用内部规则或本机规则。
  • 或者bazel能够加载依赖项的工作区(我也假设加载了所有的传递依赖项)。这是一个很难解决的问题,并在#1943中进行跟踪。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52482972

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档