在Windows 10上使用bazel 0.29.1构建TensorFlow 2失败

在Windows 10上使用bazel 0.29.1构建TensorFlow 2失败,tensorflow,bazel,tensorflow2.0,Tensorflow,Bazel,Tensorflow2.0,试图用Bazel编译TF2.0,最终以失败告终。 我在这个问题上挣扎了很长一段时间,在网上查了一下,但没有找到任何解决问题的方法。几个正在运行的配置(使用或不使用Cuda,使用或不使用创建zip文件等)最终导致相同的故障 系统信息: 操作系统平台和发行版(Windows 10) TensorFlow安装自(源) TensorFlow版本:2.0(确切地说,主分支于2019年11月7日) Python版本:3.7 是否使用virtualenv安装?皮普?康达:没有 Bazel版本(如果从源代码处

试图用Bazel编译TF2.0,最终以失败告终。 我在这个问题上挣扎了很长一段时间,在网上查了一下,但没有找到任何解决问题的方法。几个正在运行的配置(使用或不使用Cuda,使用或不使用创建zip文件等)最终导致相同的故障

系统信息:

  • 操作系统平台和发行版(Windows 10)
  • TensorFlow安装自(源)
  • TensorFlow版本:2.0(确切地说,主分支于2019年11月7日)
  • Python版本:3.7
  • 是否使用virtualenv安装?皮普?康达:没有
  • Bazel版本(如果从源代码处编译):0.29.1
  • GCC/编译器版本(如果从源代码处编译):8.1.0
  • CUDA/cuDNN版本:10.0/7
  • GPU型号和内存:GeForce GTX 1050 15.88 GB RAM
我的行动:

1. git checkout master (in the TF git repo)
2. bazel clean
3. configure (all defaults except for python path and Cuda)
4. bazel build --config=cuda --define=no_tensorflow_py_deps=true tensorflow:tensorflow_cc.dll
失败消息:

错误:C:/users/shahar/git/tensorflow/tensorflow/core/BUILD:2537:1: 执行genrule//tensorflow/core:version\u info\u gen失败(退出5) 启动器错误:无法启动进程:“C:/Program” Files/WindowsApps/PythonSoftwareFoundation.Python.3.7_3.7.1520.0_x64__qbz5n2kfra8p0/Python.exe“ C:\users\shahar\u bazel\u shahar\duchsbgv\execroot\org\u tensorflow\bazel out\x64\u windows-opt\bin\tensorflow\tools\git\gen\u git\u source.zip --生成外部/local\u config\u git/gen/spec.json外部/local\u config\u git/gen/head 外部/本地\u配置\u git/gen/branch\u ref bazel out/x64_windows-opt/bin/tensorflow/core/util/version_info.cc --git_tag_override=原因:(错误:5):访问被拒绝

我做错了什么

编辑: 添加了一个带有@Lászlóadvice的连接:

mklink /j c:\python "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.7_3.7.1520.0_x64__qbz5n2kfra8p0"
“configure”要求我对python.exe和libs进行配置时使用了它,但错误仍然存在。详情:

错误:C:/users/shahar/git/tensorflow/tensorflow/core/BUILD:2537:1: 执行genrule//tensorflow/core:version\u info\u gen失败(退出5) 启动程序错误:无法启动进程:“C:/python/python.exe” C:\users\shahar\u bazel\u shahar\duchsbgv\execroot\org\u tensorflow\bazel out\x64\u windows-opt\bin\tensorflow\tools\git\gen\u git\u source.zip --生成外部/local\u config\u git/gen/spec.json外部/local\u config\u git/gen/head 外部/本地\u配置\u git/gen/branch\u ref bazel out/x64_windows-opt/bin/tensorflow/core/util/version_info.cc --git_tag_override=原因:(错误:5):访问被拒绝

编辑2: 再次借助@Lászlóhelp: 我跑:

找到一条路径,cd进入其中。 从那里我跑:

c:\python\python.exe c:\users\shahar\_bazel_shahar\duchsbgv\execroot\org_tensorflow\bazel-out\x64_windows-opt\bin\tensorflow\tools\git\gen_git_source.zip --generate external/local_config_git/gen/spec.json external/local_config_git/gen/head external/local_config_git/gen/branch_ref c:\tmp\foo.cc --git_tag_override=
并收到以下错误消息:

回溯(最近一次调用上次):文件 “\?\C:\Users\Shahar\AppData\Local\Temp\Bazel.runfiles\u ltu2ig\u a\runfiles\org\u tensorflow\tensorflow\tools\git\gen\u git\u source.py”, 第340行,输入 生成(args.generate,args.git\u tag\u override)文件“\?\C:\Users\Shahar\AppData\Local\Temp\Bazel.runfiles\u ltu2ig\u a\runfiles\org\u tensorflow\tensorflow\tools\git\gen\u git\u git\u source.py”, 第273行,在生成中 编写版本信息(dest\u file,git\u version)文件“\?\C:\Users\Shahar\AppData\Local\Temp\Bazel.runfiles\u ltu2ig\u a\runfiles\org\u tensorflow\tensorflow\tools\git\gen\u git\u source.py”, 第228行,写入版本信息 打开(文件名,“w”)。写入(内容)文件NotFoundError:[Errno 2]没有这样的文件或目录:“c:\tmp\foo.cc”


我怀疑Python路径中存在空格

试试这个:

  • 打开cmd.exe

  • 创建一个指向真实python目录的连接
    c:\python

    mklink /j c:\python "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.7_3.7.1520.0_x64__qbz5n2kfra8p0"
    
    您可以使用
    c:\python
    以外的任何其他路径,只需确保其中没有空格或特殊字符

  • 再次运行
    /configure.py
    ,使用
    c:\python


  • 就这么做了。运行了一段时间,然后再次失败。相同的错误类型,消息几乎不正确。我用详细信息编辑了原始帖子re:update:run
    bazel info execution\u root
    ——它打印一个目录。然后将
    cd
    放入其中,并尝试运行
    c:\python\python.exe c:\users\shahar\bazel\u shahar\duchsbgv\execroot\org\u tensorflow\bazel out\x64\u windows-opt\bin\tensorflow\tools\git\gen\u git\u source.zip——生成外部/本地配置git/gen/spec.json外部/本地配置git/gen/head外部/本地配置git/gen/gen/head外部/本地配置git/gen/branch/branch\u ref\u-c:\tmp\foo.cc--\git-git-git\u标记覆盖
    。它是否生成了
    c:\tmp\foo.cc
    ?@László,这样做了,没有起作用。如果按原样运行,路径“c:\users\shahar_bazel_shahar”将导致失败,因为它缺少反斜杠-“c:\users\shahar_bazel_shahar”。修复此问题仍然失败,并出现“FileNotFoundError”。我用细节编辑了这篇文章。
    mklink /j c:\python "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.7_3.7.1520.0_x64__qbz5n2kfra8p0"