PyInstaller не ссылается на файл .sav, .exe не читает файл .sav, не может экспортировать файлы .sav в .exe - PullRequest
0 голосов
/ 26 мая 2020

Я пытаюсь создать исполняемый файл (.exe) с помощью PyInstaller. Мой исполняемый файл создается, но не включает мои файлы данных, которые являются файлами .sav. Как мне добавить эти файлы .sav в исполняемый файл ? Я пытался добавить файлы в двоичные файлы, но тоже не работал.

Я использую --onedir для PyInstaller.

Мои 2 файла находятся ниже, и они загружаются в мой .py с помощью joblib. Эти файлы находятся в той же папке, что и мой файл .py, и отлично работают при работе через VSCode или Jupyter.

  1. Count_vectorizer.sav

  2. LR_model .sav

Ниже приведены две мои строки кода в моем файле .py, которые ссылаются на эти внешние файлы:

   count_vectorizer=joblib.load('Count_vectorizer.sav')
   model=joblib.load('LR_model.sav')

Вот что у меня есть в моем .spe c файл, который я запускаю для создания исполняемого файла:

# -*- mode: python ; coding: utf-8 -*-

block_cipher = None


a = Analysis(['stoploss.py'],
             pathex=['C:\\Users\\A0000\\Desktop\\stoplo3'],
             binaries=[],
             datas=[('LR_model.sav', '.'), ('Count_vectorizer.sav', '.')],
             hiddenimports=[],
             hookspath=[],
             runtime_hooks=[],
             excludes=[],
             win_no_prefer_redirects=False,
             win_private_assemblies=False,
             cipher=block_cipher,
             noarchive=False)
pyz = PYZ(a.pure, a.zipped_data,
             cipher=block_cipher)
exe = EXE(pyz,
          a.scripts,
          [],
          exclude_binaries=True,
          name='stoplo',
          debug=False,
          bootloader_ignore_signals=False,
          strip=False,
          upx=True,
          console=True )
coll = COLLECT(exe,
               a.binaries,
               a.zipfiles,
               a.datas,
               strip=False,
               upx=True,
               upx_exclude=[],
               name='stoplo')
...