Я попытался скомпилировать свою программу в exe с py2exe. К сожалению, как я использую win32com копировать диаграммы из Excel и вставлять их в PowerPoint с помощью (Shapes.PasteSpecial(ppPasteOLEObject)
, я постоянно получаю эту ошибку:py2exe & win32 Ошибка OLEObject
File "win32com\client\__init__.pyc", line 170, in __getattr__
AttributeError: ppPasteOLEObject`.
Googling не очень помогло. Скрипт отлично работает, когда я запускаю его на 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 работает в одном каталоге или с разными разрешениями) –