python - pyinstaller 不读取我的 Hook 文件并且不适用于 win32com.shell

标签 python windows python-3.x pywin32

根据 pyinstaller 的文档,如果您将文件命名为 hook-fully.qualified.import.name.py,每当您导入匹配的 时,它都会读取该文件。 py 文件。

但是,我的脚本是这样的:

import pythoncom
from win32com.shell import shell
from win32com import storagecon
...

并且 pyinstaller 拒绝识别 win32com.shell 并出现以下错误:ImportError: No module named 'win32com.shell'。 因此,我使用以下代码创建了 hook-win32com.shell.py:

hiddenimports = [
    'win32com.shell.shell',
]

pyinstaller 从不读取这个文件,但是它确实读取了 hook-win32com.py 所以我也尝试过将 `'win32com.shell' 添加到上面的 Hook 文件但是没有做很多事情。

  1. 如何让 pyinstaller 读取我的 Hook 文件
  2. 如何让它包含 win32com.shell? (所以我在 .exe 的运行时摆脱了“No module named”)

最佳答案

这似乎是这样的:https://github.com/pyinstaller/pyinstaller/issues/1322

显然,新的 python3 图现在在 pyinstaller 中随处使用,所以这个错误似乎也适用于 python2 用户。

我建议用 ctypes.shell32 或 cffi 重写 win32com.shell 调用。

关于python - pyinstaller 不读取我的 Hook 文件并且不适用于 win32com.shell,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31203580/

相关文章:

python - 检查 Pyro 远程对象是否可达

windows - 尝试在 Firefox 上运行 js - 它在 Linux 上运行良好,但在 Windows 上不行

python - 是否检查编写的代码是否在 python 2.7 或 3 及更高版本中?

python - 如何使用Python从同一文本文件中分离不同的输入格式

python - 如何将annotation.xml文件转换为train.txt和val.txt以进行对象检测?

python - 如何在 Python 中连接到 MySQL 数据库?

windows - 在 Windows 中以二进制方式查看文件

java - 如何解决 iPhone 设备的 session 未创建异常

python-3.x - XMLConverter 中的意外关键字参数 'codec'

python-3.x - 仅对DatetimeIndex,TimedeltaIndex或PeriodIndex有效,但获得了 'Int64Index'的实例