我的一个朋友设法在一个exe文件中打包了一些Ruby脚本。当我尝试使用py2exe为Python脚本做同样的事情时,我也有几个pyd文件和一个dll。
是否可以将包含所有DLL和pyd文件的Python脚本打包到一个exe中,并删除其他文件?
答案 0 :(得分:0)
根据py2exe.org:
--bundle或-b命令行开关将创建更少的文件,因为二进制扩展,运行时dll,甚至Python-dll本身都捆绑到可执行文件本身,或者如果您愿意,也可以在库文件库中。< / p>
...
使用级别1将.pyd和.dll文件包含到zip-archive或可执行文件本身中,并对pythonXY.dll执行相同操作。优点是您只需要为每个exe分发一个文件,但这将非常大。
There's also another little tutorial创建一个在运行时将DLL扩展到临时目录的exe,然后在Python退出时删除tempdir。
答案 1 :(得分:0)
This page可能对您有所帮助。更具体地说,您似乎可以通过将bundle_files
设置为1并将zipfile
设置为None
来实现此目的。我没有测试它,如果你有其他的DLL文件,它可能无法正常工作。
该页面上的另一种方法看起来很笨拙:创建一个安装程序,在项目运行之前将项目扩展到临时目录,并在应用程序终止后删除临时目录。