CentOS7通过Git源码安装Keras缺失setup.py运行报错咨询
问题根因
你之前的操作存在两个核心错误:
- 你参考的是过时的旧教程,新版Keras已经迁移到PEP 517现代Python打包规范,废弃了传统的
setup.py安装脚本,仅保留setup.cfg声明式配置和pyproject.toml构建配置,旧的python setup.py install命令已经完全失效。 setup.cfg是静态配置文件,不是可执行的Python脚本,你直接运行python setup.cfg install、反复修改该文件内容的操作完全无效,出现SyntaxError是必然结果,和配置本身的写法没有关系。
前置修复&环境准备
首先清理你之前修改损坏的源码目录,重新拉取干净的仓库:
rm -rf ./keras git clone https://github.com/keras-team/keras.git cd keras
CentOS7默认自带的Python版本较低,新版Keras要求Python版本≥3.8,先执行命令确认Python版本符合要求:
python3 --version
如果版本低于3.8,请先升级Python到符合要求的版本,再升级pip、setuptools、wheel到最新版以支持现代Python包构建:
python3 -m pip install --upgrade pip setuptools wheel
如果安装过程中出现编译类报错,先安装系统基础依赖:
yum install -y gcc gcc-c++ python3-devel
正确安装操作
在拉取的keras源码根目录下,直接用pip从本地源码安装即可,pip会自动读取构建配置、安装依赖、完成编译安装:
python3 -m pip install .
如果你需要做二次开发,希望修改源码后不用重新安装就能生效,可以安装可编辑版本:
python3 -m pip install -e .
注意事项
- 不要直接执行
setup.py、setup.cfg这类文件,所有现代Python源码包的本地安装都统一用pip install .命令即可 - 执行pip命令时统一用
python3 -m pip的格式,避免调用到CentOS7自带Python2对应的旧版pip,出现版本冲突 - 不要随意修改源码目录下的
pyproject.toml、setup.cfg这类构建配置文件,这类文件是给构建工具读取的,不需要手动调整。
内容的提问来源于stack exchange,提问作者RTN JO
相关产品推荐
相关产品推荐

