2013-01-04 70 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