Код после использования Pyinstaller приводит к ошибке вызванного процесса (Tabula возвращает ненулевой статус выхода) ⇐ Python

Программы на Python
Anonymous
Код после использования Pyinstaller приводит к ошибке вызванного процесса (Tabula возвращает ненулевой статус выхода)

Сообщение Anonymous »

Извиняюсь заранее: это мой первый вопрос о stackoverflow, поэтому я постараюсь быть максимально ясным и кратким.
Я пытаюсь создать Pyinstaller .EXE файл из скрипта Python, который я создавал последние несколько недель, но, похоже, столкнулся с проблемой при попытке запустить исполняемый файл после его создания. Когда я использую VS Code для запуска программы, все работает отлично. Однако, как только я создаю EXE-файл для своего сценария и виртуальной среды, я продолжаю получать сообщение об ошибке, указанной ниже.

Код: Выделить всё

Traceback (most recent call last):
File "TableReader.py", line 108, in 
dataOut1 = tabula.read_pdf(file_path, pages = pages_input, stream=True)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "tabula\io.py", line 400, in read_pdf
File "tabula\io.py", line 86, in _run
File "tabula\backend.py", line 122, in call_tabula_java
File "subprocess.py", line 571, in run
subprocess.CalledProcessError: Command '['java', '-Dfile.encoding=UTF8', '-jar', 'C:\\Users\\mhman\\AppData\\Local\\Temp\\_MEI200402\\tabula\\tabula-1.0.5-jar-with-dependencies.jar', '--pages', '15-17', '--stream', '--guess', '--format', 'JSON', 'C:\\Users\\mhman\\Downloads\\GreenvilleOfficeTower.pdf']' returned non-zero exit status 1.
Вот код строки 108.

Код: Выделить всё

dataOut1 = tabula.read_pdf(file_path, pages = pages_input, stream=True)
Я пытался найти решение других вопросов здесь, но, по крайней мере, судя по тому, что я нашел, эти проблемы в большей степени касались проблем с Tabula в IDE людей.
Вот некоторые варианты, которые я пробовал с Pyinstaller, если в этом проблема.

Код: Выделить всё

Pyinstaller TableReader.py --onefile --windowed

Pyinstaller TableReader.py --onefile --windowed --name "TableReaderAlpha"

Pyinstaller TableReader.py --windowed --name "TableReaderAlpha" --collect-all tabula-py

Pyinstaller TableReader.py --onefile --windowed --name "TableReaderAlpha" --collect-all tabula-py
В похожей теме я увидел, что проблема может быть связана с используемой версией Java. Но если это так, то почему он будет работать в VS Code, а не как приложение. Я думал, что весь смысл Pyinstaller, по крайней мере по той причине, по которой я его использую, заключается в создании единого независимого .EXE-файла, который не требует определенных системных настроек или зависимостей.
Я новичок в Python и использую Pyinstaller, так что это может быть довольно легко исправить, но я просто не знаю, что это может быть со всем, что я видел до сих пор.

Подробнее здесь: https://stackoverflow.com/questions/790 ... eturns-non

Вернуться в «Python»