Проблема запуска Xgboost в исполняемом файле - PullRequest
0 голосов
/ 07 июня 2019

Я использую сохраненную модель Xgboost в исполняемом файле, созданном с помощью PyInstaller.Я установил виртуальный env и скачал Xgboost и убедился, что он работает, но после того, как я создаю exe и запускаю exe, я получаю сообщение об ошибке xgboost.core:

ModuleNotFoundError: No module nemed 'xgboost.core'

1 Ответ

1 голос
/ 10 июня 2019

На самом деле я не вижу никаких проблем с импортом xgboost, во-первых, убедитесь, что вы используете последнюю версию в вашем env с pip install -U xgboost, затем попробуйте добавить xgboost.core в качестве hidden-import и добавить DLL-библиотеки xgboost какdata-files.

Предположим, что вашему virtualenv присвоено имя env, используйте команду ниже для генерации вашего исполняемого файла:

├───myscript.py
├───env

Код:

import traceback
try:
    from xgboost import core
    input("xgboost.core imported successfully!")
except Exception:
    traceback.print_exc()
    input("Import Error!")

Команда:

(env) > pyinstaller myscript.py -F --hidden-import=xgboost.core --add-data "./env/xgboost/*;xgboost/" 
--add-data "./env/Lib/site-packages/xgboost/VERSION;xgboost/"
...