【问题标题】:How do I compile my Python 3 app to an .exe? [closed]如何将我的 Python 3 应用程序编译为 .exe? [关闭]
【发布时间】:2013-07-28 10:27:14
【问题描述】:

如何将我的 Python 应用程序转换为 .exe?我用tkinter 做了一个程序,想知道如何让其他人使用。我使用 Python 3.3。我搜索了一下,但没有找到任何东西。

【问题讨论】:

标签: python tkinter compilation exe python-3.3


【解决方案1】:

cx_Freeze 会执行此操作,但会创建一个包含大量依赖项的文件夹。 py2exe 现在执行此操作,并使用 --bundle-files 0 选项仅创建一个 EXE,这可能是您问题的最佳解决方案。

更新:在遇到 py2exe 无法“找到”的第三方模块后,我已按照 kotlet schabowy 的建议转移到 pyinstaller。两者都有足够的文档并包含可以使用命令行参数运行的 .exe,但我还没有编译 pyinstaller 无法在没有调试或抓头的情况下处理的脚本。

这是一个简单的便利函数,我用我的默认值从解释器构建 .exe(当然批处理或类似的也可以):

import subprocess,os
def exe(pyfile,dest="",creator=r"C:\Python34\Scripts\pyinstaller.exe",ico=r"C:\my icons\favicon.ico",noconsole=False):
    insert=""
    if dest: insert+='--distpath ""'.format(dest)
    else: insert+='--distpath "" '.format(os.path.split(pyfile)[0])
    if ico: insert+=' --icon="{}" '.format(ico)
    if noconsole: insert+=' --noconsole '
    runstring='"{creator}" "{pyfile}" {insert} -F'.format(**locals())
    subprocess.check_output(runstring)

【讨论】:

  • 这回答“什么?”,而不是“如何?”
【解决方案2】:

我发现PyInstaller 工作得最好。 您有很多选择,例如您可以将所有内容打包到一个文件 exe 中。

我喜欢将它与Cython 一起使用以提高速度。

【讨论】:

  • 也许为这两个建议添加一个示例?
【解决方案3】:

您可以使用cx_Freeze。有导游here

【讨论】:

    【解决方案4】:

    使用Pyinstaller。 安装完成后,在项目所在目录打开终端。

    1. $ pyinstaller script1.py script2.py ...(其中 script1、script2 等是您项目中使用的所有脚本。)

    2. 命令完成后,打开dist文件夹,进入子目录。在那里你会找到一个可执行文件。

    希望对你有帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-01-22
      • 2021-07-12
      • 2017-03-29
      • 1970-01-01
      • 1970-01-01
      • 2018-06-21
      相关资源
      最近更新 更多