创建不需要pythonXX.d的独立windows exe

2024-09-28 22:24:28 发布

您现在位置:Python中文网/ 问答频道 /正文

有没有办法从python脚本创建一个standalone.exe。 使用py2exe生成的可执行文件只能与pythonXX.dll一起运行。 我想获得一个完全独立的.exe,它不需要安装python运行库。 这看起来像是一个链接问题,但是使用静态库而不是动态库,并且为了删除未使用的符号而应用条带也很有用。

知道吗?

谢谢。

亚历山德罗


Tags: 脚本可执行文件链接静态符号动态exedll
3条回答

如果您使用单个可执行文件的目的是为了简化下载/发送电子邮件等,那么我已经通过使用Inno Setup绑定py2exe输出来解决了这个问题。这实际上比拥有一个可执行文件要好,因为一个性能良好的Windows应用程序将提供一个卸载程序,显示在Add/Remove Programs applet中,而不是提供一个可以放入某个目录的可执行文件。Inno为您处理所有这些。

由于Windows的动态链接器是如何工作的,如果使用.pyd或.dll Python模块,则不能使用静态库;Windows中加载的dll不会自动与可执行文件共享其符号空间,因此需要包含Python符号的单独dll。

你可以在最新版本的py2exe中完成这项工作。。。
只需在setup.py文件中添加类似下面的代码(关键部分是“bundle_files”:1)。

要在安装中包含TkInter软件包,请使用“includes”键。

distutils.core.setup(
      windows=[
            {'script': 'yourmodule.py',
             'icon_resources': [(1, 'moduleicon.ico')]
            }
      ],
      zipfile=None,
      options={'py2exe':{
                         'includes': ['tkinter'],
                         'bundle_files': 1
                        }
      }
  )

相关问题 更多 >