# 错误：在 setup.cfg 中：'extras_require' 必须是字典，而不是字符串

- **ID:** `python/setuptools-extras-require-error`
- **领域:** python
- **类别:** config_error
- **验证级别:** ai_generated
- **修复率:** 80%

## 根因

extras_require 配置错误地设置为纯字符串，而不是字典映射。

## 版本兼容性

| 版本 | 状态 | 引入 | 弃用 |
|------|------|------|------|
| 3.8 | active | — | — |
| 3.9 | active | — | — |
| 3.10 | active | — | — |
| 3.11 | active | — | — |
| 3.12 | active | — | — |

## 解决方案

1. **Format extras_require as a dictionary in setup.cfg** (95% 成功率)
   ```
   [options.extras_require]
test =
    pytest
    pytest-cov
   ```
2. **Define extras_require in setup.py as a dict** (90% 成功率)
   ```
   extras_require={'test': ['pytest', 'pytest-cov']}
   ```

## 无效尝试

- **Setting extras_require as a list** — setuptools expects a dict with extra names as keys. (90% 失败率)
- **Omitting extras_require** — This removes optional dependencies but may be acceptable. (70% 失败率)
