![](/img/trans.png)
[英]Py2Exe Error: Win32com.client causes errors when trying to run created executable
[英]py2exe converted script does not run win32com.client correctly
我在其他網站上看到了幾則與我的問題有關的帖子,但沒有任何效果。 長話短說,我的程序importa win32com.client訪問Microsoft Word。 我使用py2exe創建一個獨立的可執行文件,每當用戶選擇打開MS Word的選項時,我都會得到一個KeyError。 下面是編譯器聲稱錯誤的代碼:
# Call the MS Word app
MS_Word = win32com.client.gencache.EnsureDispatch('Word.application')
下面是程序運行此特定行時的結果:
Exception in Tkinter callback
Traceback (most recent call last):
File "Tkinter.pyc", line 1536, in __call__
File "PROTOTYPE_PCE.PY", line 46, in SCAN
File "win32com\client\gencache.pyc", line 544, in EnsureDispatch
File "win32com\client\CLSIDToClass.pyc", line 46, in GetClass
KeyError: '{00020970-0000-0000-C000-000000000046}'
我也正在使用Tkinter,但這不是問題的根源。 從程序中打開MS Word是我添加的一項新功能,只有在創建獨立應用程序時它才會失敗。 我也嘗試了Pyinstaller,但我的錯誤僅在增加。 提前致謝!
好的! 因此,由於某些原因,py2exe在運行后創建的library.zip文件不允許將win32com.client之類的模塊導入程序。 為什么? 我真的不知道我是這個菜的菜鳥。 無論如何,以下解決方案非常有效,好像我最初一點都沒有問題。 這就是應該包含在setup.py腳本中的內容。 取自另一篇文章。 我希望這可以幫助別人 :)
setup(
...
zipfile="foo/bar.zip",
options={"py2exe": {"skip_archive": True}})
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.