我写了一个小工具,想用py2exe将它编译成一个独立的二进制文件。
我尝试使用'py2exe'来实现这一目标。
我的.py文件可以按照我的意愿运行。
但是在生成.exe后,执行它会出现以下错误。
Traceback (most recent call last):
File "league.py", line 7, in <module>
File "gi\__init__.pyc", line 42, in <module>
File "gi\_gi.pyc", line 12, in <module>
File "gi\_gi.pyc", line 10, in __load
ImportError: DLL load failed: Das angegebene Modul wurde nicht gefunden.
setup.py:
from distutils.core import setup
import py2exe
setup(name="LoL-CLI",
version="1.0",
console=['league.py'],
options={"py2exe": {
'dll_excludes':['libglib-2.0-0.dll',
'libgirepository-1.0-1.dll',
'libffi-6.dll',
'libgobject-2.0-0.dll',
'libcairo-gobject-2.dll']
}
}
)
我认为我的python解释器可以找到gi库,但是py2exe没有。 我排除了所有的DLL,因为它给我错误没有找到这些DLL和谷歌说我应该排除它。
我也找到了在执行“setup.py py2exe”之后将“gi”文件夹复制到'dist'的解决方案,但它没有用。
欣赏任何琐事或想法。
提前致谢。
答案 0 :(得分:0)
我认为,您可能需要明确定义gtk应用程序所依赖的所有模块。
options={"py2exe": {
'dll_excludes':['libglib-2.0-0.dll',
'libgirepository-1.0-1.dll',
'libffi-6.dll',
'libgobject-2.0-0.dll',
'libcairo-gobject-2.dll']
},
'includes': 'gi, cairo, pango, pangocairo, atk, gobject, gio, gtk.keysyms',
}