Pandas не выполняется при проверке numexpr внутри exe-скрипта, созданного с помощью PyInstaller - PullRequest
0 голосов
/ 06 августа 2020

Я создал веб-приложение Da sh, из которого был создан .exe с помощью PyInstaller. Приложение загружается без проблем, но при вызове функции внезапно останавливается. Проблема кажется l ie в том, что библиотека numexpr не установлена ​​(pandas проверка _NUMEXPR_INSTALLED не выполняется), даже если запуск скрипта в python не вызывает никаких проблем.

изображение ошибки cmd

Я использую pandas 1.0.1, PyInstaller 3.6 и Python 3.7.7 Я уже пробовал следующее:

  • Понижение pandas с 1.0.5 до 1.0.1 из-за проблем с PyInstaller

  • Добавление pandas пути к PyInstaller .spe c файл

    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.

1 Ответ

0 голосов
/ 26 августа 2020

Мне удалось решить ту же проблему,

  1. Явно установив numexpr (conda install numexpr)
  2. Явный импорт в коде python: import numexpr
...