2013-01-04 44 views
40

我是python的新手,除了语言本身之外,我正在探索它的各个方面。编译成.exe(这样它可以在不安装python的情况下部署) 我检查了py2exe,几年前停止了新版本。 然后pyInstaller,似乎已停止在python 2.7。一个很好的python exe编译器?

我可以得到一个列表的所有Python到EXE编译器?感谢

+1

我有一个印象,蟒蛇不能有效地由于其动态特性编译。是的,有些工具可以生成一个exe文件,但我认为他们依赖于运行时。 – akonsu

+1

仅供参考:'pyInstaller'仍在积极开发中,并且在3.x支持上工作,尽管我不知道它有多远。而'py2exe'已经支持3.x(尽管你必须在2.7下运行它)。这只是一个评论,而不是一个答案 - cx_freeze可能是你想要的。 – abarnert

+0

@akonsu或多或少如此,结论要么不真实,要么不相关。这些工具包括运行时(如,python.dll和所有使用的模块)以及生成的可执行文件,所以它没有依赖关系(除了C运行时的正确版本,我认为,但C编译器也需要) 。 – delnan

回答

56
  • cx_Freeze适用于Windows,Linux和Mac OS X(Python 2.7版,3.X)
  • pyinstaller适用于Windows,Linux和Mac OS X(Python 2.7版,3.3-3.5)
  • bbfreeze Windows和Linux(Python的2.4-2.7)
  • py2exe的Windows(Python的2.6,2.7)
  • py2exe的Windows(Python的3.3-3.5)
  • Freeze为Linux也许Mac OS X上(的Python 2.x的)
  • py2app为Mac OS X(的Python 2.x的)
+1

'bbfreeze'也不适用于3.x,我相信'freeze'也不行,'py2exe'几乎没有。暗示'pyinstaller'是你列表中唯一不适用于3.x的误导 - 特别是因为OP非常强烈地暗示他希望3.x支持。 (而且你的答案中只有一个能够正常工作3。x是'py2app',它不会帮助Windows上的OP。) – abarnert

+0

pyinstaller现在支持3.3-3.5 :) – meawoppl

+0

使用Pyinstaller(Github)的“develop”分支成功编译了Python 3.6脚本。 – tivnet

3

我使用IronPythonpyc.py工具的运气。你可以基本上把你的python转换成.net字节码,然后转换成exe。

+0

是的,这几乎是要走的路。 –

+3

第二个链接已死亡。新链接大概如下:http://dbaportal.eu/2009/12/21/ironpython-how-to-compile-exe/ – ComFreek

4

http://cx-freeze.sourceforge.net/

适用于Python 3.x.

否则,您可以始终让您的脚本在Python 2.x上运行,并使用可以从该版本转换的程序。

而且一看,

Python 3.0.1 Executable Creator

Making a portable (exe) with Python 3.1?

+0

另外[还有什么技术可以为Python 3创建独立的可执行文件?](http ://stackoverflow.com/questions/3447093/what-technologies-exist-to-create-stand-alone-executables-for-python-3)。 – abarnert