Когда py2exe встречает файл DLL, требуемый приложением, он решает, включать ли файл DLL в каталог распространения, используя различные критерии.Как правило, он не включает библиотеки DLL, если считает, что они принадлежат «системе», а не «приложению».
Вам необходимо переопределить критерии, в соответствии с которыми py2exe выбирает библиотеки DLL, которые он включает в полученный пакет.Ниже показано, как это сделать
# setup.py
from distutils.core import setup
import py2exe,sys,os
origIsSystemDLL = py2exe.build_exe.isSystemDLL
def isSystemDLL(pathname):
if os.path.basename(pathname).lower() in ("msvcp71.dll", "dwmapi.dll"):
return 0
return origIsSystemDLL(pathname)
py2exe.build_exe.isSystemDLL = isSystemDLL
Этот код и приведенная выше цитата были взяты из страницы на сайте py2exe.Обязательно прочитайте эту страницу, включая заявления об отказе.