您可以真正使用 py2exe ,它可以按照您想要的方式运行。
通常,py2exe将您的主脚本捆绑到exe文件,并将所有相关脚本(解析您的导入并查找所有必要的python文件)捆绑到库zip文件(仅pyc文件)。它还会收集依赖的DLL库并将其复制到分发目录,以便您可以分发整个目录,并且用户可以从该目录运行exe文件。好处是您可以拥有大量脚本(较小的exe文件)来使用一个大型库zip文件和DLL。
另外,您可以配置py2exe将所有脚本和要求捆绑到1个独立exe文件中。Exe文件包含主脚本,相关的python文件和所有DLL。我在setup.py中使用这些选项来完成此任务:
setup( ... options = { 'py2exe' : { 'compressed': 2, 'optimize': 2, 'bundle_files': 1, 'excludes': excludes} }, zipfile=None, console = ["your_main_script.py"], ...)工作代码:
from distutils.core import setupimport py2exe, sys, ossys.argv.append('py2exe')setup( options = { 'py2exe' : { 'compressed': 1, 'optimize': 2, 'bundle_files': 3, #Options 1 & 2 do not work on a 64bit system 'dist_dir': 'dist', # Put .exe in dist/ 'xref': False, 'skip_archive': False, 'ascii': False, } }, zipfile=None, console = ['thisProject.py'],)


