如何将我的Python 3应用程序编译为.exe?

时间:2013-07-28 10:27:15

标签: python tkinter compilation exe python-3.3

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

4 个答案:

答案 0 :(得分:15)

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

更新:在遇到py2exe遇到“查找”问题的第三方模块后,我已经转移到pyinstaller,因为kotlet schabowy建议如下。两者都有足够的文档,并且包含.exes,你可以使用命令行参数运行,但我还没有编译一个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)

答案 1 :(得分:9)

我发现TIME能够发挥最佳效果。 您有很多选项,例如,您可以将所有内容打包到一个文件exe。

我喜欢和PyInstaller一起使用它来提高速度。

答案 2 :(得分:4)

您可以使用cx_Freeze。有一个指南here

答案 3 :(得分:1)

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

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

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

  3. 希望它有所帮助。