部署Python可执行文件 - PyInstaller,cx-freeze等
我想找个方法,把我的Python应用打包成独立的可执行文件,这样我在Windows和Mac上的朋友就可以直接使用,而不用安装那些麻烦的依赖。网上我找到了一些工具可以帮我做到这一点,比如Windows上的py2exe和Mac上的py2app,还有PyInstaller、cx-freeze和bbfreeze。你们都用过哪些,推荐哪个呢?
2 个回答
我使用 py2exe 来创建 Windows 可执行文件。虽然它的说明文档有点乱,但我找到一个可以用作模板的有效 setup.py
文件后,就没有遇到过什么问题。之后我只需要稍微修改一下这个文件,就能生成我想要的 exe 文件。通常我也能通过谷歌搜索找到一些有用的信息,比如当我需要把 png 图片打包进 UI 使用时。
我最近几周一直在用PyQt和PyQwt开发一个Python应用,但遇到了同样的问题。我发现py2app根本无法使用,遇到太多问题让我放弃了。几天后我找到了PyInstaller,真是太棒了。它可以直接支持PyQt和PyQwt,并且能很好地把所有东西打包成一个应用程序。虽然我还没试过用它来制作Windows可执行文件。
我在arstechnica上找到了一篇关于如何使用py2exe和py2app的好文章,虽然有点旧(你可以跳过关于Python 2.5的部分) http://arstechnica.com/open-source/guides/2009/03/how-to-deploying-pyqt-applications-on-windows-and-mac-os-x.ars/
我强烈推荐使用PyInstaller。不过在OS X上使用时有一些小技巧,因为目前的支持还只是初步的 http://diotavelli.net/PyQtWiki/PyInstallerOnMacOSX