NumPy版本无法降级导致Keras导入报错的问题求助
解决NumPy版本显示不一致导致Keras
AttributeError: module 'numpy' has no attribute 'typeDict' 的问题 你遇到的核心问题是终端操作的Python环境和编辑器使用的Python环境不匹配——虽然你在终端里成功安装了NumPy 1.21,但编辑器实际调用的是另一个环境里的NumPy 1.24.1,所以才会出现版本显示矛盾的情况。下面是具体的排查和解决步骤:
步骤1:确认编辑器使用的Python解释器路径
在你的编辑器(比如VS Code、PyCharm等)里运行这段代码,找到当前使用的Python绝对路径:
import sys print(sys.executable)
运行后会得到类似这样的输出:
/Users/yourname/opt/anaconda3/envs/my_project/bin/python
或者系统默认Python路径:
/usr/bin/python3
步骤2:针对编辑器的Python环境安装指定版本NumPy
根据你得到的路径,选择对应的方式安装:
如果是conda环境
先激活编辑器对应的conda环境(路径里包含anaconda3/envs/xxx就是conda环境):
conda activate my_project # 这里替换成你的环境名
然后安装指定版本NumPy:
conda install numpy==1.21 -y
如果是pip环境
直接用编辑器对应的Python路径调用pip安装,加上--force-reinstall强制覆盖现有版本:
/Users/yourname/opt/anaconda3/envs/my_project/bin/python -m pip install numpy==1.21 --force-reinstall
(把路径替换成你刚才得到的sys.executable输出内容)
步骤3:验证安装结果
再次在编辑器里运行代码确认版本:
import numpy print(numpy.__version__)
此时应该显示1.21.0或1.21.x的版本,再导入Keras就不会出现typeDict的报错了。
额外注意事项
- 尽量避免在同一个环境里混用
pip和conda安装包,容易导致版本冲突和环境不一致的问题 - 如果使用Jupyter Notebook,需要确认当前kernel对应的环境是否是你安装NumPy 1.21的环境,可以通过
Kernel > Change Kernel切换到正确的环境
内容的提问来源于stack exchange,提问作者AoT_1503
相关产品推荐
相关产品推荐

