我阅读了所有手册并在此处回答,但仍然不了解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
包。