首页 > 解决方案 > PyInstaller 模块未找到

问题描述

我一直在努力解决 PyInstaller 问题,但不确定如何修复 ModuleNotFound (特别是pandas)。我的 .py 程序是一个简单的 onefile 脚本,它只导入 (Anaconda-)native 包(例如 tkinter、pandas、os),它在 IDE 中工作。我知道 PyInstaller 只导入顶级包,所以我将列出我到目前为止的方法:

  1. 在虚拟环境中运行以将 Python 3.8 降级到 3.7.5。我听说人们对 Python 3.8 的 PyInstaller 有问题。还更新了最新版本的 PyInstaller。也试过没有环境。
  2. 从 onedir 而不是 onefile 构建pyinstaller --onedir myscript.py
  3. hiddenimports将规范文件更改hiddenimports = ['pandas._libs.tslibs.timedeltas', etc.]hiddenimports = ['pandas']
  4. 放在import pandas.py 的顶部
  5. 遵循这个:如何将 Python 站点包文件夹(不包括在内)添加到 PyInstaller 规范文件中?但修复我的路径文件,C:\\Users\\username\\Anaconda\\lib因为这是在 Anaconda 解释器中。然后它升起AttributeError: module 'importlib._bootstrap_external' has no attribute '_w_long',我试图修复它无济于事

这些都没有奏效。有没有更好的方法可以在 Python 中构建可执行文件,或者是否有解决此问题的方法?

标签: pythonpandascompilationpyinstaller

解决方案


我终于通过重新安装 pandas 和 numpy 来修复它。我没有想到这一点,因为我在此过程中多次重新安装了 pandas。无论如何,如果有人遇到同样的问题并需要最后的手段:

pip uninstall pandas -y pip uninstall numpy -y pip install pandas pip install numpy

编辑:在此之后,我意识到我安装/连接 Anaconda 的方式很混乱,所以我重新安装了 Anaconda 并且 pyinstaller 更容易使用。要在重新安装 Anaconda 后将 pyinstaller 与 Anaconda 一起使用,而不是默认的 python,conda install -c conda-forge pyinstaller


推荐阅读