【问题标题】:Hidden import in PyInstaller not working?PyInstaller 中的隐藏导入不起作用?
【发布时间】:2020-07-10 18:51:24
【问题描述】:

我正在尝试使用 PyInstaller 创建一个可执行文件。 我的问题的重要文件是: main.pydbinterface.py 都位于根级别。

dbinterface.py 我正在做:import mysql.connector,我假设它需要作为隐藏导入添加到 PyInstaller。

我通过添加 --hidden-import pyinstaller mysql.connector 以及更改规范文件来尝试此操作,老实说,我不确定我是否正确执行此操作。

PyInstaller 在其输出的命令行中显示以下行:4448 ERROR: Hidden import 'mysql.connector' not found

【问题讨论】:

  • AFAIK 如果您使用import 语句,它不是隐藏导入 - 这实际上适用于使用 importlib 或需要 dll 的代码
  • 附加信息:我在 main.py 中导入 dbinterface.py
  • 是的,只要是明确的import 语句就没有问题。请参阅本页的 pyinstaller 文档第二段 pyinstaller.readthedocs.io/en/stable/…
  • 关于隐藏的导入文档说:一些 Python 脚本以 PyInstaller 无法检测到的方式导入模块:例如,通过使用带有可变数据的 __import__() 函数、使用 imp.find_module() 或操作运行时的 sys.path 值
  • 那可能是什么问题?运行可执行文件给我以下错误消息:`文件“main.py”,第 1 行,在 ModuleNotFoundError: No module named 'mysql' [1640] Failed to execute script main`

标签: python exe pyinstaller mysql-connector-python


【解决方案1】:

问题是我必须在 Python 中全局安装 mysql-connector-python。如果您只将它们安装在您的虚拟环境中,它将无法正常工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-08-05
    • 2019-12-05
    • 2023-03-13
    • 1970-01-01
    • 2020-09-04
    • 2021-09-02
    • 2019-11-17
    • 1970-01-01
    相关资源
    最近更新 更多