2010-03-14 47 views
7

我正在尋找一種方法將python解釋器與我的應用程序(也用python編寫)一起運輸,以便它不需要在機器上安裝python。在python應用程序中嵌入python解釋器

我搜索了谷歌,發現了一堆關於如何在各種語言編寫的應用程序中嵌入python解釋器的結果,但沒有爲應用程序寫入python本身......我不需要「隱藏」我的代碼或製作一個像cx_freeze這樣的二進制文件,我只是不希望我的用戶必須安裝python才能使用我的應用程序,就這些。

謝謝。

+0

Duplicate:http://stackoverflow.com/questions/106725/how-to-bundle-a-python-application-including-dependencies-for-windows,http://stackoverflow.com/questions/2933/an -executable-python-app,http://stackoverflow.com/questions/1950218/distributing-python-programs等 – 2010-03-14 12:13:34

+0

最後是的,但起初我並不想凍結我的應用程序到一個二進制文件,即使它終於成爲分發我的應用的最簡單的解決方案。 – MatToufoutu 2010-03-14 14:33:54

回答

9

對於在Windows機器上分佈,考慮py2exe

py2exe is a Python Distutils extension which converts Python scripts 
into executable Windows programs, able to run without requiring a 
Python installation 

爲Macintosh,有py2app(但我不熟悉)

而對於Windows和Linux,還有bbfreezepyinstaller

+0

謝謝,我意識到,儘管我想提供我的應用程序的源代碼,最簡單的方法來做到這一點(如伊格納西奧所說)仍然會凍結我的應用程序到一個二進制文件,也運送源代碼用它。 – MatToufoutu 2010-03-14 04:44:03

+0

是的,使用這種方法,您可以同時使用這兩種方法:獨立二進制文件和源代碼,可以在解釋器中使用,用戶希望這樣做和/或他/她是否決定修改程序。 – mjv 2010-03-14 05:00:27

2

您需要一些類型的可執行文件才能啓動Python。也可能是你的應用被凍結的那個。

另一種方法是將您需要的stdlib的可執行文件,庫和碎片複製到私有目錄中,並針對您的應用調用該目錄。

2

使用cx_freeze或py2exe等工具製作冷凍二進制文件可能是最簡單的方法。這樣你只需要分發可執行文件。我知道你可能不想分發二進制文件,但如果這是一個問題,你總是可以讓用戶選擇下載源文件並從解釋器運行。

0

對於Windows:py2exe

對於Linux:Freeze

全面披露:我只讀過這些,從來沒有使用過。也許有些人可以評論?

0

看看http://www.python-packager.com,它是一個基於pyinstaller構建可重定向python二進制文件的免費web服務。我已經使用它來爲Windows構建應用程序,並且它非常易於使用,並且還可以與GUI應用程序一起使用。

+0

網站不見了,現在它重定向到http://pythoncentral.org/ – 2012-05-16 18:08:04

相關問題