Я создал Python exe с PyInstaller .
Мой exe-файл хорошо работает на компьютере-источнике.
Когда я попытался запустить его на другом компьютере, я получил эту проблему:
C:\Users\maell\Desktop\CreateSQL app V1\app>app.exe
Traceback (most recent call last):
File "app.py", line 68, in <module>
File "app.py", line 44, in show_DataBase_results
File "usefull_fonctions_fdb.py", line 5, in open_database
File "site-packages\fdb\fbcore.py", line 784, in connect
File "site-packages\fdb\fbcore.py", line 220, in load_api
File "site-packages\fdb\ibase.py", line 1385, in __init__
Exception: The location of Firebird Client Library could not be determined.
[9340] Failed to execute script app
Проблема явно в клиентской библиотеке Firebird 1011 *.
Я пытаюсь понять, почему у меня есть эта проблема и как ее решить.
- Сначала я подумал, что, возможно, это потому, что библиотека fdb импортируется в «подфайл», поэтому это скрытый импорт, а PyInstaller его не видит. Я импортировал fdb в основной файл приложения, но проблема осталась прежней.
- Я также заглянул в свою переменную окружения, думая, что, возможно, мой другой компьютер пропустил один из них о fdb, но я не увидел ни одной переменной окружения, связанной с fdb, на моем «исходном» компьютере.
У вас есть идеи, почему у меня есть эта проблема? Это файл, который мне нужно поместить в каталог exe? Или что-то я должен сказать PyInstaller?
РЕДАКТИРОВАТЬ:
При добавлении fbclient.dll в каталог моего exe ошибка изменилась:
(base) C:\Users\maell\Desktop\app>app.exe
Traceback (most recent call last):
File "app.py", line 67, in <module>
File "app.py", line 43, in show_DataBase_results
File "usefull_fonctions_fdb.py", line 5, in open_database
File "site-packages\fdb\fbcore.py", line 848, in connect
fdb.fbcore.DatabaseError: ('Error while connecting to database:\n- SQLCODE: -904\n- unavailable database', -904, 335544375)
[11120] Failed to execute script app
Я проверил, база данных находится в хорошем каталоге (она работает на компьютере-источнике).