Я читаю каждое руководство и ответы здесь, но все еще не понимаю поведение Pyinstaller.
Я отредактировал .spec-файл, куда добавил мой импорт:
hiddenimports=['ftfy','sqlalchemy','mysql','pymysql','xlrd','xlwt','xlutils']
Все эти пакеты были установлены с pip
.
Некоторые интересные проблемы, когда Pyinstaller создает одну папку:
62573 INFO: Found 4 sqlalchemy hidden imports
62577 WARNING: Hidden import "pysqlite2" not found!
62580 WARNING: Hidden import "MySQLdb" not found!
67597 WARNING: Hidden import "sqlalchemy.sql.functions.func" not found!
67623 INFO: Import to be excluded not found: 'sqlalchemy.testing'
sqlalchemy
действительно использует другие пакеты, в моем проекте это mysql
для подключения к БД MySQL. Каждая библиотека находится в каталоге по умолчанию C:\Python\Lib\site-packages
Почему после dist
ничего не видно из моего hiddenimport
?
Похоже, заявление не работает на самом деле. Когда я пытаюсь запустить .exe:
FileNotFoundError: [Errno 2] No such file or directory: 'D:\\rs_al\\IdeaProjects\\ExcelToSQL\\PyXLSQL\\dist\\service\\ftfy\\char_classes.dat'
[1668] Failed to execute script service
Должен ли я полностью доверять pyinstaller
проанализированным зависимостям? Я использую небольшую часть pandas
и pyinstaller
предлагает зацепить пакет numpy
.