py2exe - generate single executable file

前端 未结 9 837
野的像风
野的像风 2020-11-22 01:45

I thought I heard that py2exe was able to do this, but I never figured it out. Has anyone successfully done this? Can I see your setup.py file, and what command line optio

9条回答
  •  不知归路
    2020-11-22 02:23

    The way to do this using py2exe is to use the bundle_files option in your setup.py file. For a single file you will want to set bundle_files to 1, compressed to True, and set the zipfile option to None. That way it creates one compressed file for easy distribution.

    Here is a more complete description of the bundle_file option quoted directly from the py2exe site*

    Using "bundle_files" and "zipfile"

    An easier (and better) way to create single-file executables is to set bundle_files to 1 or 2, and to set zipfile to None. This approach does not require extracting files to a temporary location, which provides much faster program startup.

    Valid values for bundle_files are:

    • 3 (default) don't bundle
    • 2 bundle everything but the Python interpreter
    • 1 bundle everything, including the Python interpreter

    If zipfile is set to None, the files will be bundle within the executable instead of library.zip.

    Here is a sample setup.py:

    from distutils.core import setup
    import py2exe, sys, os
    
    sys.argv.append('py2exe')
    
    setup(
        options = {'py2exe': {'bundle_files': 1, 'compressed': True}},
        windows = [{'script': "single.py"}],
        zipfile = None,
    )
    

提交回复
热议问题