簡體   English   中英

py2exe轉換的腳本無法正確運行win32com.client

[英]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}})

忽略py2exe中的library.zip

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM