Python3.12导入openpyxl时出现NUMPY导入错误求助
解决Python3.12下openpyxl导入NUMPY失败的问题
以下是无需修改openpyxl源码的可行解决方案:
方案1:安装适配Python3.12的openpyxl版本
旧版openpyxl未适配Python3.12的内部模块变化,可尝试安装预发布版本或最新版本:
pip install --pre openpyxl
或直接升级到最新稳定版(若已完成Python3.12适配):
pip install openpyxl --upgrade
方案2:降级Python版本至兼容版本
Python3.11及更低版本与主流openpyxl稳定版完全兼容,将系统Python降级到3.11.x版本后,重新安装openpyxl即可正常使用。
方案3:用虚拟环境隔离兼容的Python版本
通过虚拟环境工具(如pyenv、virtualenv)创建独立环境,使用兼容的Python版本:
- 安装pyenv后,安装Python3.11.x:
pyenv install 3.11.5 - 切换当前目录的Python版本:
pyenv local 3.11.5 - 在该环境下安装openpyxl:
pip install openpyxl
错误原因说明
该问题确实是openpyxl旧版本对Python3.12的兼容性问题,Python3.12的内部模块调整导致openpyxl的compat/numbers.py模块中NUMPY变量的定义逻辑无法被正常导入。
内容的提问来源于stack exchange,提问作者Jeno_With_a_J
相关产品推荐
相关产品推荐

