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)