python3.9装’keras’什么版本
Python 3.9 装 Keras,优先固定 keras==3.10.0;如果你要用 TensorFlow 作为后端,建议固定 tensorflow==2.20.0,并把 Keras 限制在 keras<3.11,>=3.10.0。不要直接装最新 Keras,也不建议继续按旧教程装 keras==2.4.3,因为截至 2026-05-06,Keras 和 TensorFlow 的新版本已经逐步提高 Python 版本要求,Python 3.9 只能选最后仍支持它的兼容版本。
先给可执行结论
如果你只是想知道“python3.9装’keras’什么版本”,可以按下面三种场景选,不需要先研究全部版本历史。

| 使用场景 | 推荐版本 | 安装命令 | 判断标准 | 注意事项 |
|---|---|---|---|---|
新项目,直接 import keras |
keras==3.10.0 |
python -m pip install "keras==3.10.0" |
代码面向 Keras 3,计划使用 TensorFlow、JAX 或 PyTorch 后端 | Keras 只是高层 API,还需要安装至少一个后端框架 |
| 常规 TensorFlow 深度学习项目 | tensorflow==2.20.0 + keras<3.11,>=3.10.0 |
python -m pip install "tensorflow==2.20.0" "keras<3.11,>=3.10.0" |
你训练模型、用 tf.data、用 GPU/CPU 跑 TensorFlow |
TensorFlow 2.21 起不再支持 Python 3.9,所以不要装 2.21 |
老代码大量使用 tf.keras |
tensorflow==2.15.x + keras==2.15.0 |
python -m pip install "tensorflow==2.15.1" "keras==2.15.0" |
项目依赖旧保存格式、旧回调行为或旧教程代码 | 不要混装 Keras 3,否则可能出现 API 行为差异 |
| Windows 原生 GPU 老环境 | tensorflow<2.11 + 对应 Keras 2 |
python -m pip install "tensorflow==2.10.1" "keras==2.10.0" |
必须在 Windows 原生环境跑 NVIDIA GPU | 更推荐改用 WSL2 跑新版 TensorFlow |
为什么推荐 keras==3.10.0
keras==3.10.0 是 Python 3.9 上更合适的 Keras 3 选择:它仍标注支持 Python 3.9,同时保留 Keras 3 的多后端能力。判断是否该用它很简单:如果你的代码写的是 import keras,并且希望以后可以切换 TensorFlow、JAX 或 PyTorch 后端,就选这个版本。
可执行安装方式如下:
python3.9 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install "keras==3.10.0"
安装后用下面命令验证:
python -c "import keras; print(keras.__version__)"
如果输出 3.10.0,说明 Keras 本体安装成功。注意,Keras 3 本体不是计算后端;你还需要根据实际训练框架安装 TensorFlow、JAX 或 PyTorch。多数中文教程默认使用 TensorFlow,因此最常见组合是 tensorflow==2.20.0 加 keras==3.10.0。
为什么不建议装最新 keras
在 Python 3.9 环境里,不建议执行无版本限制的 pip install keras。判断标准是:只要你的解释器仍是 Python 3.9,就不能假设 PyPI 上的最新 Keras 一定兼容。新版 Keras 已经提高 Python 要求,pip 可能会回退到兼容版本,也可能因为依赖解析、镜像缓存或旧 pip 版本报错。
更稳的做法是主动固定版本:
python -m pip install "keras==3.10.0"
如果你使用国内镜像,注意镜像可能不是实时同步;遇到 No matching distribution found for keras==3.10.0,先升级 pip,再换官方源测试:
python -m pip install --upgrade pip
python -m pip install -i https://pypi.org/simple "keras==3.10.0"
场景差异也要分清:新项目用 Keras 3,老项目用 Keras 2,不要因为“版本号越新越好”把老项目直接升级到 Keras 3。Keras 3 在模型保存格式、后端配置、部分 API 行为上和旧代码存在差异,升级前至少要跑一遍训练、保存、加载和推理流程。
TensorFlow 后端怎么装
大多数人搜索“python3.9装’keras’什么版本”,实际是要跑 TensorFlow 教程。这个场景下不要只装 Keras,应直接安装 TensorFlow 和 Keras 的兼容组合:
python -m pip install --upgrade pip
python -m pip install "tensorflow==2.20.0" "keras<3.11,>=3.10.0"
判断是否成功,用下面命令同时检查 TensorFlow 和 Keras:
python -c "import tensorflow as tf; import keras; print(tf.__version__); print(keras.__version__)"
如果你只写 from tensorflow import keras,TensorFlow 2.16 及以上默认会使用 Keras 3;如果你写 import keras,则会导入独立的 Keras 包。两种写法在新项目中通常都可用,但团队项目最好统一一种导入方式,避免同一个项目里同时出现 Keras 2、Keras 3 和 tf_keras。
注意不要装 tensorflow==2.21.0。TensorFlow 官方安装说明已经提示 2.21 起不再支持 Python 3.9;如果你的环境锁死在 Python 3.9,tensorflow==2.20.0 是更现实的上限选择。
老项目该不该用 Keras 2
如果你的项目来自 2020 到 2023 年的教程,或者代码里大量出现 from tensorflow.keras...、旧版 model.save()、旧 H5 模型文件、旧自定义层加载逻辑,那么直接上 Keras 3 可能不是最省事的选择。判断标准不是“Python 3.9 能不能装”,而是“项目依赖的 API 行为是不是旧的”。
老项目可先用这个组合复现:
python -m pip install "tensorflow==2.15.1" "keras==2.15.0"
如果项目明确要求 TensorFlow 2.13、2.14 或 2.15,就让 TensorFlow 和 Keras 主版本保持一致,例如 tensorflow==2.14.0 搭配 keras==2.14.0。注意不要单独把 Keras 升到 3.x,否则可能出现训练能跑、保存加载失败,或自定义对象反序列化失败的问题。
keras==2.4.3 只适合复现很老的项目,不适合作为 Python 3.9 的通用推荐版本。它发布年代较早,依赖链和现在的 NumPy、h5py、TensorFlow 生态并不匹配,新环境里排错成本通常高于升级代码成本。
常见报错处理
报错 No matching distribution found for keras 时,先确认 Python 版本和 pip 版本:
python --version
python -m pip --version
python -m pip install --upgrade pip
如果确认是 Python 3.9,就安装 keras==3.10.0,不要追最新版本。
报错 No module named tensorflow 时,说明你只装了 Keras,没有装 TensorFlow 后端。新项目可以这样补装:
python -m pip install "tensorflow==2.20.0"
如果你不打算用 TensorFlow,而是用 PyTorch 或 JAX 后端,则需要安装对应后端,并在导入 Keras 前设置 KERAS_BACKEND。
报错 DLL load failed、CUDA 找不到或 GPU 不识别时,优先判断操作系统场景。Linux 下检查 NVIDIA 驱动和 CUDA 依赖;Windows 原生 GPU 如果要用新 TensorFlow,建议转 WSL2;macOS 上则不要按 NVIDIA CUDA 教程配置。
报错和 NumPy、protobuf、h5py 相关时,不要逐个盲目升级依赖。更稳的做法是新建虚拟环境,按固定组合重装:
python3.9 -m venv keras39
source keras39/bin/activate
python -m pip install --upgrade pip
python -m pip install "tensorflow==2.20.0" "keras<3.11,>=3.10.0"
Python 3.9 的现实风险
Python 3.9 已进入生命周期末期,很多科学计算包会逐步停止支持它。判断标准很明确:如果这是新项目、生产项目或长期维护项目,不应继续把 Python 3.9 当作首选环境;如果只是维护旧模型、复现旧论文或跑历史代码,可以继续固定版本。
能升级 Python 时,建议直接升级到 Python 3.10、3.11 或更高版本,再安装当前 Keras 和 TensorFlow。不能升级时,就用本文的固定组合,不要让依赖自由漂移。团队项目应把版本写进 requirements.txt:
tensorflow==2.20.0
keras>=3.10.0,<3.11
注意,固定版本不是为了保守,而是为了让训练结果、部署镜像和依赖解析可重复。深度学习项目中,版本漂移往往会引入比业务代码更难定位的问题。
常见问题
Python3.9 能装 Keras 3 吗?
能,但建议固定到 keras==3.10.0。不要直接装当前最新 Keras,因为更新的 Keras 版本已经提高了 Python 版本要求。
python3.9 安装 keras 还要装 tensorflow 吗?
如果你用 TensorFlow 训练模型,就要装。推荐命令是 python -m pip install "tensorflow==2.20.0" "keras<3.11,>=3.10.0"。如果你改用 PyTorch 或 JAX 后端,则安装对应后端。
旧教程让装 keras==2.4.3,还能用吗?
可以尝试复现旧项目,但不建议作为新环境默认版本。Python 3.9 下更推荐 Keras 3.10.0;只有当旧代码明确依赖老 API 时,才考虑 Keras 2.x。
Python3.9 可以装 tensorflow 最新版吗?
不建议。TensorFlow 2.21 起不再支持 Python 3.9,Python 3.9 环境建议固定 tensorflow==2.20.0。
我应该升级 Python 还是降 Keras?
新项目优先升级 Python;旧项目优先固定 Keras 和 TensorFlow。判断标准是项目能否修改运行环境:能改环境就升到 Python 3.10+,不能改就固定 keras==3.10.0 或旧项目所需的 Keras 2.x。
参考文献
原创文章,作者:王利头,如若转载,请注明出处:https://www.wanglitou.cn/article_7634.html
微信扫一扫