---
title: 构建TensorFlow pip软件包时有告警信息提示的解决办法
description: "构建TensorFlow pip软件包时有告警信息提示。部分告警信息如下："
url: https://www.hikunpeng.com/document/detail/zh/SRA/ecosystemEnable/TensorFlow/kunpengtensorflow_02_0014.html
sourcePath: /source/zh/SRA/ecosystemEnable/TensorFlow/kunpengtensorflow_02_0014.html
indexId: d719834598a926639ea277cc923608b43b94960e0d4616f365c0b8d5d8464e9a72
---
# 构建TensorFlow pip软件包时有告警信息提示的解决办法

#### 问题现象描述

构建TensorFlow pip软件包时有告警信息提示。部分告警信息如下：

```
!!
check.warn(importable)
/usr/local/lib/python3.9/site-packages/setuptools/command/build_py.py:204: _Warning: Package 'tensorflow.xla_aot_runtime_src.tensorflow.tsl.platform' is absent from the `packages` configuration.
!!
********************************************************************************
############################
# Package would be ignored #
############################
Python recognizes 'tensorflow.xla_aot_runtime_src.tensorflow.tsl.platform' as an importable package[^1],
but it is absent from setuptools' `packages` configuration.
This leads to an ambiguous overall configuration. If you want to distribute this
package, please make sure that 'tensorflow.xla_aot_runtime_src.tensorflow.tsl.platform' is explicitly added
to the `packages` configuration field.
Alternatively, you can also rely on setuptools' discovery methods
(for example by using `find_namespace_packages(...)`/`find_namespace:`
instead of `find_packages(...)`/`find:`).
You can read more about "package discovery" on setuptools documentation page:
- https://setuptools.pypa.io/en/latest/userguide/package_discovery.html
If you don't want 'tensorflow.xla_aot_runtime_src.tensorflow.tsl.platform' to be distributed and are
already explicitly excluding 'tensorflow.xla_aot_runtime_src.tensorflow.tsl.platform' via
`find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,
you can try to use `exclude_package_data`, or `include-package-data=False` in
combination with a more fine grained `package-data` configuration.
You can read more about "package data files" on setuptools documentation page:
- https://setuptools.pypa.io/en/latest/userguide/datafiles.html
[^1]: For Python, any directory (with suitable naming) can be imported,
even if it does not contain any `.py` files.
On the other hand, currently there is no concept of package data
directory, all directories are treated like packages.
********************************************************************************
```


#### 关键过程、根本原因分析

关键错误信息：setuptools的方法随着版本演进，发生变化，使用find_namespace_packages(...)/find_namespace:替换find_packages(...)/find:。

```
Alternatively, you can also rely on setuptools' discovery methods(for example by using `find_namespace_packages(...)`/`find_namespace:`instead of `find_packages(...)`/`find:`).
```

根本原因分析：setuptools版本兼容性问题。


#### 结论、解决方案及效果

1. 查询当前环境安装的setuptools版本。
  1 pip3 list | grep setuptools

  版本信息：

2. setuptools版本降级。
  1 2 pip3 uninstall setuptools pip3 install setuptools==56.0.0

  56.0.0版本的setuptools安装成功。

  目前已经验证了setuptools 42.0.2，50.0.0，56.0.0，57.0.0版本均可以消除告警信息。

3. 重新构建出包。
  1 ./bazel-bin/tensorflow/tools/pip_package/build_pip_package ./output
