我尝试使this example工作,但每次我尝试用bazel构建程序时,我收到此错误消息:
bazel build //code:label_image
ERROR: /home/jonas/tensorflow/code/BUILD:12:1: no such package 'tensorflow': BUILD file not found on package path and referenced by '//code:label_image'.
ERROR: /home/jonas/tensorflow/code/BUILD:12:1: no such package 'tensorflow': BUILD file not found on package path and referenced by '//code:label_image'.
ERROR: /home/jonas/tensorflow/code/BUILD:12:1: no such package 'tensorflow': BUILD file not found on package path and referenced by '//code:label_image'.
ERROR: /home/jonas/tensorflow/code/BUILD:12:1: no such package 'tensorflow': BUILD file not found on package path and referenced by '//code:label_image'.
ERROR: /home/jonas/tensorflow/code/BUILD:12:1: no such package 'tensorflow': BUILD file not found on package path and referenced by '//code:label_image'.
ERROR: Analysis of target '//code:label_image' failed; build aborted.
INFO: Elapsed time: 1.261s
我在github中保存了名为 code
的确切源代码 . 我通过pip: pip3 install --upgrade tensorflow
在(活动)虚拟环境中安装了 tensorflow
. 我使用arch linux .
为什么bazel找不到合适的包装?我对bazel / tensorflow很新 . 这些包保存在哪里?我是否必须在某处明确指定它们?
1 回答
通常,从使用Bazel的项目中提取子文件夹并单独构建它不起作用 .
如果查看
label_image
文件夹的BUILD文件,您将看到C二进制文件的这个定义:此规则告诉Bazel需要构建
label_image
二进制文件 . 值得注意的是,它具有依赖关系(deps
)和链接选项(linkopts
),它们指向tensorflow工作空间的根(//tensorflow
,由WORKSPACE
文件定义),这在提取的子文件夹中是缺失的 . 这就是Bazel抱怨无法找到包tensorflow
的原因 .构建
label_image
二进制文件的最简单方法是在tensorflow项目中构建它,因为路径已经设置好了 .