构建Docker Compose Python应用时遭遇setuptools DeprecationError
解决fastapi-pagination安装引发的Docker Compose构建失败问题
问题现象
将fastapi-pagination添加到requirements.txt后执行Docker Compose构建时,出现以下异常:
- setuptools警告:
setup.cfg中的license_file参数已弃用,需改用license_files - 最终触发报错:
AttributeError: cython_sources
移除该库后,Docker Compose构建可正常完成。
原因分析
该问题源于fastapi-pagination的打包配置或其依赖子包与当前环境的setuptools版本不兼容:
- setuptools 66.0.0及以上版本弃用了
license_file参数,若库的setup.cfg未及时更新为license_files,会触发警告并可能中断构建流程 cython_sources属性错误通常是依赖的Cython相关组件版本不匹配,或库的构建脚本未适配当前构建环境导致
解决方案
方案1:锁定setuptools兼容版本
在requirements.txt中添加指定版本的setuptools,规避参数弃用问题:
setuptools<66.0.0 fastapi-pagination==[你的目标版本]
方案2:升级fastapi-pagination到最新稳定版
官方通常会在新版本中修复打包配置问题,更新requirements.txt至最新兼容版本:
fastapi-pagination==0.12.17 # 替换为当前最新稳定版
方案3:临时移除或寻找替代
若当前项目对该库需求不迫切,可暂时移除fastapi-pagination,待官方修复后再重新引入;或使用手动编写分页逻辑等替代方案。
内容的提问来源于stack exchange,提问作者TeraBasedProgrammer
相关产品推荐
相关产品推荐

