用PyInstaller执行wxPython到exe?

时间:2012-10-24 23:18:55

标签: python wxpython exe pyinstaller

我正在尝试将一个wxPython应用程序作为exe工作。我听说PyInstaller现在优于py2exe。我想要包含脚本运行所需的.ico和两个.png文件。这个spec文件会是什么样的?我似乎无法在任何地方找到一个体面的例子。我安装了PyInstaller,但我无法在任何地方找到这个“makepec”。

3 个答案:

答案 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 )