py2exe的跨平台替代方案

py2exe的跨平台替代方案,第1张

py2exe的跨平台替代方案

好的,我已经做到了。这有点hacky,但是对于我的用例来说效果很好。

要点是使用ModuleFinder查找所有导入的模块,过滤掉所有系统模块,编译并压缩它们。

不幸的是,我的代码杂乱无章,与这个问题没有任何关系,因此我无法粘贴一个工作程序,仅粘贴一些片段:

zipfile = ZipFile(os.path.join(dest_dir, zip_name), 'w', ZIP_DEFLATED)sys.path.insert(0, '.')finder = ModuleFinder()finder.run_script(source_name)for name, mod in finder.modules.iteritems():    filename = mod.__file__    if filename is None:        continue    if "python" in filename.lower():        continue    subprocess.call('"%s" -OO -m py_compile "%s"' % (python_exe, filename))    zipfile.write(filename, dest_path)


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5645898.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存