Как заставить pyinstaller использовать определенный файл .jar при упаковке exe?
Я пытаюсь сгенерировать исполняемый файл, который использует tabula-py lib. Для этой библиотеки требуется файл jar tabula-1.0.1-jar-with-dependencies.jar , который находится в моей папке file.py. Вот некоторые модификации, которые находятся по адресу myfile.spec :
# this is for pandas lib
def get_pandas_path():
import pandas
pandas_path = pandas.__path__[0]
return pandas_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)
# this is for tabula-py
jar = 'tabula-1.0.1-jar-with-dependencies'
jar_path = 'C:\\Users\\jaquedeveloper\\Documents\\freelancer\\bot\\' + jar
coll = COLLECT(exe,
a.binaries,
a.zipfiles,
a.datas,
[(jar, jar_path, 'PKG')],
strip=None,
upx=True,
name='test')
Тем не менее ошибка сохраняется.
Когда я запускаю свой код из командной строки, функция read_pdf () из tabula-py, которая использует java jar, работает нормально, отлично.
Но когда я генерирую исполняемый файл с помощью команды спецификации pyinstaller, он не может выполнить эту функцию, выдавая ошибку ниже:
Невозможно получить доступ к jarfile C: \ Users \ jaquedeveloper \ AppData \ Local \ Temp_MEI58442 \ tabula \ tabula-1.0.1-jar-with-dependencies.jar
Файл не находится в этой папке, и папка tabula не существует.
У меня есть файл в той же папке исполняемого файла. Как я могу заставить скрипт использовать его?
Как я могу импортировать jar из определенного пути к исполняемому файлу вместо использования папки _MEI?
Эта проблема также сообщалась здесь .