pyinstaller没有读取我的钩子文件,也没有使用win32com.shell

时间:2015-07-03 09:41:47

标签: 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'上面的钩子文件,但没有做太多。

  1. 如何让pyinstaller读取我的钩子文件
  2. 如何让它包含win32com.shell? (所以我摆脱了#34;没有名为&#34的模块;在.exe的运行时)

1 个答案:

答案 0 :(得分:0)

情况似乎如下:https://github.com/pyinstaller/pyinstaller/issues/1322

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

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