с pyinstaller текст не может быть декодирован - PullRequest
0 голосов
/ 27 сентября 2018

Я пытался извлечь текст из файла .txt, но получил ошибку:

ERROR:root:decode error:
Traceback (most recent call last):
  File "ml_funcs/tokenizer.py", line 15, in extract_text
  File "textract/parsers/__init__.py", line 77, in process
  File "textract/parsers/utils.py", line 46, in process
  File "textract/parsers/txt_parser.py", line 9, in extract
  File "/Users/ivanlavrenov/projects/project/.venv2/lib/python3.7/codecs.py", line 322, in decode
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x87 in position 23: invalid start byte

pyinstaller по неизвестным причинам не может декодировать текст с open(file.txt)


При попытке запустить .exec на другом компьютере textract не может декодировать любой текст.скрытый импорт не помогает.Вот мой файл .spec:

# -*- mode: python -*-
import sys
from PyInstaller.utils.hooks import collect_data_files

block_cipher = None

a = Analysis(['main.py'],
             pathex=['/Users/ivanlavrenov/projects/project'],
             binaries=[],
             datas=[],
             hiddenimports=[],
             hookspath=[],
             runtime_hooks=[],
             excludes=[],
             win_no_prefer_redirects=False,
             win_private_assemblies=False,
             cipher=block_cipher)

a.datas += [('messages.properties',
             'messages.properties', 'DATA'), ]

a.datas += Tree('.venv2/lib/python3.7/site-packages/langdetect/profiles/',
                prefix='langdetect/profiles/')

a.datas += Tree('.venv2/lib/python3.7/site-packages/stop_words/stop-words/',
                prefix='stop-words/')

a.datas += Tree('./desktop_app/images/', prefix='desktop_app/images/')

a.hiddenimports.append("textract.parsers")
a.hiddenimports.append("docx2txt")
a.hiddenimports.append("csv")
a.hiddenimports.append("xlrd")
a.hiddenimports.append("chardet")
a.hiddenimports.append("codecs")

print(a.hiddenimports)
pyz = PYZ(a.pure, a.zipped_data,
             cipher=block_cipher)

exe = EXE(pyz,
          a.scripts,
          a.binaries,
          a.zipfiles,
          a.datas,
          name='main',
          debug=False,
          strip=False,
          upx=True,
          runtime_tmpdir=None,
          console=True,
          icon='desktop_app/images/icon.icns')

если у кого-то есть ЛЮБЫЕ идеи, это будет очень полезно для меня)

1 Ответ

0 голосов
/ 28 сентября 2018

проблема была решена добавлением кодировки обнаружения кодировки

...