下载
中文
注册

TF Serving编译时提示缺少builtins

问题现象

在TF Serving编译过程中可能会出现builtins依赖模块查询失败问题,报错如图1所示。

图1 缺少builtins导致的报错信息

解决方案

原因是缺失“future”依赖包,解决方案是安装“future”依赖包,并检查Python指向。

  1. 执行如下命令,安装future依赖包。
    pip3.7 install future
  2. 检查“Python”软链接是否指向Python3.7.5。
    由于TF Serving编译时需要使用3.7.5版本的Python,TF Serving的相关脚本默认使用的Python解释器关键字“Python”,与系统“Python”软链接默认指向的2.7版本Python不匹配。因此需要将当前“Python”软链接指向“Python3.7.5”
    1. 执行如下命令,检查Python软链接是否指向了Python3.7.5。
      python --version

      若Python为3.7.5版本,可直接3,反之继续执行之后流程。

    2. 执行如下命令创建软链接,将“Python”指向“Python3.7.5”
      ln -sf /usr/local/python3.7.5/bin/python3.7  /usr/bin/python
  3. 重新编译TF serving。
  4. (可选)执行以下命令,复原“Python”软链接指向。
    ln -sf /usr/bin/python2 /usr/bin/python