0
我試圖用py2exe將我的程序編譯成exe文件。不幸的是,我使用win32com複製從Excel圖表和使用(Shapes.PasteSpecial(ppPasteOLEObject)
將它們嵌入到PowerPoint中,我不斷收到此錯誤:py2exe&win32 OLEObject錯誤
File "win32com\client\__init__.pyc", line 170, in __getattr__
AttributeError: ppPasteOLEObject`.
谷歌搜索還沒有真正的幫助。當我在python中運行它時,該腳本完美工作,所以我知道問題出在win32com上。使用makepy.py來包含typelib也沒有幫助,但也許我的setup.py
是錯誤的。所以這裏是:
import sys
from distutils.core import setup
import py2exe
from glob import glob
from os.path import normpath
import matplotlib
sys.setrecursionlimit(5000)
data_files=[("Microsoft.VC90.CRT",glob(normpath(
r'C:/Program Files/Microsoft Visual Studio 9.0/VC/redist/x86/Microsoft.VC90.CRT/*.*'))),
("images",glob(normpath("images/*.PNG"))),
("ppttemplate",glob(normpath("ppttemplate/*.pptx")),
(".",normpath("C:/windows/system32/ole32.dll")),
(".",normpath("C:/Anaconda2/envs/py27/Library/bin/MSVCP90.dll")))
]
data_files.extend(matplotlib.get_py2exe_datafiles())
setup(
data_files=data_files,
console=['Main.py'],
options={"py2exe":{"includes":["lxml.etree","lxml._elementpath","gzip",
"sip","PyQt4.QtGui","PyQt4.QtCore","matplotlib"],
"excludes":["Tkinter"],
"typelibs":[('{2DF8D04C-5BFA-101B-BDE5-00AA0044DE52}', 0, 2, 8),
('{00020430-0000-0000-C000-000000000046}', 0, 2, 0)]
}
}
)
在此先感謝您的幫助!
多年來,我使用Py2exe,最後有無數的錯誤和問題後,我開始使用PyInstaller,它已經好多了,嘗試使用https://mborgerson.com/creating-an-executable-from-a-python-script並查看是否解決了問題,如果解決了問題,那麼你已經設置好了,如果沒有,它可能與它的執行方式有關,而不是它如何被打包(IE,python運行在一個目錄中,或者具有不同的權限) –