Python引用了pandas和openpyxl库,用pyinstaller打包的时候会提示没有找到pandas模块

Python引用了pandas和openpyxl库,用pyinstaller打包的时候会提示没有找到pandas模块,但是这两个模块都已经在同一个环境下安装。请问如何解决?

引用的库如下:

import os  
import shutil  
import pandas as pd  
from openpyxl import load_workbook
import tkinter as tk
from tkinter import filedialog

错误报警:

img

引用 皆我百晓生 小程序回复内容作答:

当你使用 PyInstaller 进行打包时,有时会出现找不到特定模块的情况。这可能是因为 PyInstaller 在查找依赖项时无法正确地处理某些情况。

以下是一些可能解决该问题的方法:

  1. 确保在打包之前正确安装了所有依赖项。

    • 确认在你打包之前已经在同一个环境下成功安装了 pandas 和 openpyxl 库。可以通过在命令行下运行 pip list 来检查已安装的库。如果没有安装,请运行 pip install pandas openpyxl 来安装这两个库。
  2. 尝试使用PyInstaller的 --hidden-import 参数。

    • 运行 pyinstaller --hidden-import=pandas your_script.py 进行打包。这将强制 PyInstaller 将 pandas 作为一个隐藏的依赖项包含在打包文件中。
  3. 创建一个 spec 文件并手动添加依赖项。

    • 使用 pyi-makespec 命令生成一个 spec 文件:pyi-makespec --onefile your_script.py
    • 编辑生成的 spec 文件,找到 hiddenimports 部分,并添加 pandasopenpyxl,例如:hiddenimports=['pandas', 'pandas._libs.tslibs.timedeltas', 'openpyxl']
    • 最后,使用 pyinstaller your_script.spec 运行打包。

通过上述方法,你应该能够成功打包脚本并包含所需的 pandas 和 openpyxl 库。如果问题仍然存在,请确保你的环境配置正确,并尝试在 PyInstaller 的 GitHub 存储库中寻找相关问题和解决方案,或者尝试使用其他的打包工具。

【相关推荐】



  • 这有个类似的问题, 你可以参考下: https://ask.csdn.net/questions/7628066
  • 你也可以参考下这篇文章:openpyxl和pandas简单比对
  • 除此之外, 这篇博客: 报错解决:pandas的依赖项openpyxl中的 解决方法: 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
    • 首先,激活你的项目环境:activate “name of your project”
    • 然后,安装openpyxl包:pip install openpyxl
    • 注:直接安装到conda环境下:conda install openpyxl

    此时,已经解决了遇到的问题,但是为什么呢,我们一起来分析pandas中的部分涉及openpyxl的文件的源码:



如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^