从TF源

时间:2018-02-22 19:35:49

标签: python-3.x tensorflow

我目前正在尝试使用Tensorflow 1.5源代码构建,因为我试图在移动设备上实现一个模型并且必须包含一些内核。我在TF中运行了.configure,我指的是3.5 python位置。

我现在正在尝试构建wheel文件,并且因为我的生活无法绕过无效命令bdist_wheel错误。我目前正在使用以下方法构建wheel文件:

bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg

我收到以下错误:

  

2月22日星期二11:17:38太平洋标准时间2018:===使用tmpdir:/tmp/tmp.XPe7Djtgg2   〜/文档/混帐/ tensorflow /巴泽勒斌/ tensorflow /工具/ pip_package / build_pip_package.runfiles   〜/ Documents / Git / tensorflow~ / Documents / Git / tensorflow   /tmp/tmp.XPe7Djtgg2~ / Documents / Git / tensorflow 2月22日星期二11:17:39太平洋标准时间   2018:===构建轮次使用:setup.py [global_opts] cmd1   [cmd1_opts] [cmd2 [cmd2_opts] ...]或:setup.py --help [cmd1 cmd2   ...]或:setup.py --help-commands或:setup.py cmd --help

     

错误:无效命令'bdist_wheel'

我还尝试确保安装了滚轮,但是当我输入时:

  

sudo pip3安装轮

我收到以下消息。

  

要求已经满足:转入   /usr/local/lib/python3.5/dist-packages

我进入了我的.bashrc文件并输入了一个条目 导出PYTHON_BIN_PATH = / usr / bin /

现在查看build_pip_package我看到它正在使用下面的行来触发车轮构建:

"${PYTHON_BIN_PATH:-python}" setup.py bdist_wheel ${PKG_NAME_FLAG} >/dev/null

在路径/ usr / bin / python的符号链接是2.7,我认为这是问题,因为当我使用pip2安装wheel时,已经构建了wheel文件,但它是2.7而不是3.5所以它声明它无法为当前环境安装wheel文件。

我认为可能修改上面的行到下面的条目会起作用,但我仍然得到相同的bdist错误。我无法弄清楚如何在3.5以下建造轮子。

"${PYTHON_BIN_PATH:-python3.5}" setup.py bdist_wheel ${PKG_NAME_FLAG} >/dev/null

我还尝试将python的别名设置为python3.5,当我尝试在命令提示符下调用python时它工作正常,但是当它从“build_pip_package”轮构建调用中调用时它不起作用。

任何人都知道我怎么能解决这个问题?我假设如果我要安装conda,我可以解决这个问题,但如果可能的话,我宁愿不必处理它。

谢谢!

1 个答案:

答案 0 :(得分:0)

所以我在这个具体案例中找到了我的问题。我最初执行了Tensorflow配置,当时还没有意识到PYTHON_BIN_PATH。现在从阅读,似乎当我运行configure时,它应该创建此条目(至少从我的理解)。这没有发生,只有当我处理上面提到的错误时,我才深入挖掘并发现build_pip_package正在访问该变量并且它未在我的.bashrc中设置。正是在这个时候,我添加了价值,并试图只是运行车轮的构建。

在这里发布之后,我想我会尝试再次通过完整的TF构建过程重新运行,看看我是否能发现我可能在此过程中遗漏的任何其他错误。正是在这里我得到一个错误,指出 / usr / bin / 是恰好是分配给 PYTHON_BIN_PATH 的相同值的路径。我将其修改为导出PYTHON_BIN_PATH = / usr / bin / python3,然后重建tensorflow,一旦完成,我继续构建方向盘并安装它,所有操作都正确完成。

希望这有助于某人。