Pyinstaller,不包括隐藏导入



我阅读了这里的每一本手册和答案,但仍然不理解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。每个lib都在默认目录C:PythonLibsite-packages

  1. 为什么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
    
  2. 我应该完全信任pyinstaller分析的依赖关系吗?我使用了pandas的一小部分,pyinstaller建议挂接一个numpy包。

这个与雪花相关的问题很常见——无论是执行.exe文件时的NoModuleFound错误,还是编译过程中的Hidden导入错误。

包括以下3种进口产品。它对我有效。

from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
from snowflake.sqlalchemy import URL

有关更多解决方案,请参阅此Stackoverflow页面:NoSuchModuleError:无法加载插件:sqlalchemy.方言:雪花

最新更新