0

我制作了一个 Dash Web 应用程序,使用 PyInstaller 创建了一个 .exe。该应用程序加载没有问题,但在调用函数时它突然停止。问题似乎在于未安装 numexpr 库(熊猫检查 _NUMEXPR_INSTALLED 失败),即使通过在 python 中运行脚本不会产生任何问题。

cmd错误图片

我正在使用 pandas 1.0.1、PyInstaller 3.6 和 Python 3.7.7 我已经尝试过以下操作:

  • 由于 PyInstaller 的问题,将 pandas 从 1.0.5 降级到 1.0.1

  • 将 pandas 路径添加到 PyInstaller .spec 文件

    def get_numpy_path():
      import numpy
      numpy_path = numpy.__path__[0]
      return numpy_path
    dict_tree = Tree(get_pandas_path(), prefix='pandas', excludes=["*.pyc"])
    a.datas += dict_tree
    a.binaries = filter(lambda x: 'pandas' not in x[0], a.binaries)
    ...
    
  • 我安装了 numexpr,但版本是 2.7.1,并且在 pandas.compat_optional 中定义了 2.6.2 版本,因此它也引起了一些问题并且没有工作。pip 不允许我安装任何版本的 numexpr

任何想法如何克服这个问题来拥有一个功能性的.exe?PS:该应用程序还使用 numpy、scypi 和 sklearn。

4

1 回答 1

0

我能够通过

  1. 显式安装 numexpr ( conda install numexpr)
  2. 在 python 代码中显式导入:import numexpr
于 2020-08-26T12:52:34.147 回答