我正在尝试将一个wxPython应用程序作为exe工作。我听说PyInstaller现在优于py2exe。我想要包含脚本运行所需的.ico和两个.png文件。这个spec文件会是什么样的?我似乎无法在任何地方找到一个体面的例子。我安装了PyInstaller,但我无法在任何地方找到这个“makepec”。
答案 0 :(得分:3)
在我的PyInstaller项目中,我通常只对see if the app's frozen进行运行时检查,并相应地调整位图的路径。所以像这样来处理PyInstaller和常规的Python应用程序:
def app_path():
"""Returns the base application path."""
if hasattr(sys, 'frozen'):
# Handles PyInstaller
return os.path.dirname(sys.executable)
return os.path.dirname(__file__)
答案 1 :(得分:1)
检查sys.frozen
是一种非常好的方法。您还可以查看img2py
,它可以将图像的二进制数据加载到.py文件中。之后,可以导入它们,而不必打开文件。
答案 2 :(得分:1)
a = Analysis(['script.py'],
pathex=['D:\\source-control\\GITHUB\\projectname'],
hiddenimports=[],
hookspath=None,)
a.datas += [( 'images', r'C:\Users\igorl\Pictures\hzgJUXi5l4o.jpg', 'DATA')]
pyz = PYZ(a.pure)
exe = EXE(pyz,
a.scripts,
a.binaries,
a.zipfiles,
a.datas,
name=os.path.join('dist', 'script.exe'),
debug=False,
strip=None,
upx=True,
console=False )