pyinstaller 没有读取我的挂钩文件并且无法使用 win32com.shell
pyinstaller not reading my hook file and doesn't work with win32com.shell
根据 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' 添加到上面的挂钩文件中,但这并没有做太多。
- 如何让 pyinstaller 读取我的挂钩文件
- 如何让它包含
win32com.shell
? (所以我在 .exe 的运行时摆脱了 "No module named")
这似乎是这样的:https://github.com/pyinstaller/pyinstaller/issues/1322
显然新的 python3 图现在在 pyinstaller 中随处使用,所以这个错误似乎也适用于 python2 用户。
我建议用 ctypes.shell32 或 cffi 重写 win32com.shell 调用。
根据 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' 添加到上面的挂钩文件中,但这并没有做太多。
- 如何让 pyinstaller 读取我的挂钩文件
- 如何让它包含
win32com.shell
? (所以我在 .exe 的运行时摆脱了 "No module named")
这似乎是这样的:https://github.com/pyinstaller/pyinstaller/issues/1322
显然新的 python3 图现在在 pyinstaller 中随处使用,所以这个错误似乎也适用于 python2 用户。
我建议用 ctypes.shell32 或 cffi 重写 win32com.shell 调用。