You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Pandas提示openpyxl版本过低但实际已装高版本的问题排查

问题排查方向

以下是可能导致该问题的几个原因及对应的排查/解决方法:

  • Python解释器路径不匹配
    你在Shell中调用的Python可能不是你预期的/usr/lib64/python3.9版本,系统中可能存在多个Python 3.9实例,或者包安装到了非系统路径中。

    • 验证:执行以下命令查看当前Python加载的openpyxl版本和路径:
      python3 -c "import openpyxl; print(openpyxl.__version__); print(openpyxl.__file__)"
      
      同时执行which python3确认当前Python解释器的绝对路径,看是否与你预期的一致。
    • 解决:如果路径不符,使用Python解释器的绝对路径运行脚本,例如/usr/bin/python3.9 your_script.py,或者调整PATH环境变量,让目标Python解释器优先级更高。
  • pip与Python解释器不对应
    你使用的pip工具可能不属于目标Python 3.9,导致安装的openpyxl没有进入系统的/usr/lib64/python3.9/site-packages目录。

    • 验证:执行pip3.9 --version查看该pip对应的Python版本,确认是否为3.9.15。
    • 解决:使用对应版本的pip重新安装openpyxl:
      pip3.9 install --upgrade openpyxl==3.0.10
      
  • 用户级site-packages目录干扰
    Linux中,用户自行安装的包会默认存放在*~/.local/lib/python3.9/site-packages/*,该目录的包加载优先级高于系统级的/usr/lib64/python3.9/site-packages/,可能此处残留了旧版本的openpyxl。

    • 验证:执行以下命令列出Python所有的包加载路径:
      python3 -c "import site; print(site.getsitepackages())"
      
      逐个检查这些路径下的openpyxl,重点查看用户目录下的路径。
    • 解决:如果发现用户目录下有旧版本openpyxl,直接删除该目录下的openpyxl文件夹,或者使用对应pip执行pip3.9 uninstall openpyxl卸载用户级安装的包。
  • Python字节码缓存残留
    Python生成的.pyc字节码文件可能缓存了旧版本openpyxl的引用,导致重装后仍加载旧版本。

    • 解决:删除脚本所在目录下的__pycache__文件夹,或者添加-B参数运行脚本禁止生成字节码:
      python3 -B your_script.py
      

内容的提问来源于stack exchange,提问作者JanisE

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 05:00:52