2

我正在尝试让 wxPython 应用程序作为 exe 运行。我听说 PyInstaller 现在优于 py2exe。我想包含脚本运行所需的 .ico 和两个 .png 文件。这个规范文件会是什么样子?我似乎在任何地方都找不到像样的例子。我安装了 PyInstaller,但在任何地方都找不到这个“makespec”。

4

3 回答 3

3

在我的 PyInstaller 项目中,我通常只进行运行时检查以查看应用程序是否已冻结并相应地调整位图的路径。所以像这样处理 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__)
于 2012-10-24T23:37:32.817 回答
1

检查sys.frozen是一个非常好的方法。您还可以查看img2py哪个可以将图像的二进制数据加载到 .py 文件中。稍后,不必打开文件,它们可以被导入。

于 2012-10-24T23:40:21.213 回答
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 )
于 2012-10-25T00:10:01.113 回答