# setup.cfg 错误：InvalidConfigError：metadata.name 为必填项

- **ID:** `python/setuptools-metadata-name-missing`
- **领域:** python
- **类别:** config_error
- **验证级别:** ai_generated
- **修复率:** 80%

## 根因

构建配置（setup.cfg/pyproject.toml）缺少包名。setuptools 无法在没有 name 字段的情况下生成有效元数据。

## 版本兼容性

| 版本 | 状态 | 引入 | 弃用 |
|------|------|------|------|
| 3.8+ | active | — | — |

## 解决方案

1. **** (96% 成功率)
   ```
   # setup.cfg
[metadata]
name = mypackage
version = 1.0.0
# or pyproject.toml
[project]
name = "mypackage"
version = "1.0.0"
   ```
2. **** (85% 成功率)
   ```
   # pyproject.toml
[project]
name = "mypackage"
dynamic = ["version"]
# provide version in setup.py: setup(version=compute_version())
   ```

## 无效尝试

- **** — If pyproject.toml declares build-backend setuptools.build_meta and config files disagree, duplicate/overriding metadata can still error or be ignored. (70% 失败率)
- **** — Empty string is invalid metadata; setuptools raises a different validation error. (85% 失败率)
