【问题标题】:PyInstaller won't import pywin32 / win32clipboard - ImportError upon running executablePyInstaller 不会导入 pywin32 / win32clipboard - 运行可执行文件时出现 ImportError
【发布时间】:2020-10-10 04:31:55
【问题描述】:

我在 Windows 10 中使用 Python 3.8.6 并使用 PyInstaller 4.0 将我的脚本编译为可分发的可执行文件。我今天刚刚添加了一个需要导入 win32clipboard 的功能。 PyInstaller 完成编译没有任何错误,但可执行文件无法加载,原因是:

ImportError: DLL load failed while importing win32clipboard: 找不到指定的模块。

我尝试使用 hidden-import 标志再次编译程序:

pyinstaller myscript.py --onefile --hidden-import win32clipboard

这会在尝试加载程序时产生相同的结果和 ImportError(编译期间没有错误)。

我知道 win32clipboard 是 pywin32 的一部分,并且我的程序在需要导入它的代码更改之前编译和运行没有任何问题。在使用支持 win32clipboard 的功能时,它仍然可以在 IDLE 之外正常运行并按预期运行。

有什么方法可以手动指示 PyInstaller 正确导入它,或者有什么其他方法可以解决这个问题并让可执行文件再次运行?

【问题讨论】:

    标签: python compilation python-import pyinstaller pywin32


    【解决方案1】:

    我能够通过在 win32clipboard 之前将 pywintypes 导入我的脚本来解决这个问题。

    import pywintypes
    import win32clipboard
    

    在旧的 GitHub 错误报告中发现了人们在使用 PyInstaller 导入 win32api 时遇到的问题的建议,并决定尝试一下。完成此操作后,我能够毫无问题地编译和运行我的程序。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-07-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多