一尘不染

如何将Python 3应用编译为.exe?

python

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


阅读 169

收藏
2020-12-20

共1个答案

一尘不染

cx_Freeze这样做,但是创建了一个具有很多依赖关系的文件夹。py2exe现在执行此操作,并使用
–bundle-files 0选项,仅创建一个EXE,这可能是对您问题的最佳解决方案。

更新:遇到py2exe无法“查找”的第三方模块后,我已经按照kotlet
schabowy的建议移至pyinstaller。两者都有足够的文档,并包含可以通过命令行参数运行的.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)
2020-12-20