2012-04-08 93 views
2

我對Python和任何凍結程序還是很新的。如何從Ubuntu或Windows編譯python.app

最近我做了一個很短的文字冒險遊戲,我想寄給幾個朋友,其中大多數人都有雪豹。我不希望他們爲了玩遊戲而不得不下載python。

有沒有辦法將我的遊戲從Ubuntu轉換爲可在Mac上播放?也就是說,從ubuntu製作一個.app文件?甚至從Windows,我想。

我試過在Windows上使用cx_freeze,但只是編譯一個在Mac上無法播放的exe文件。

感謝您的任何幫助和建議。

編輯:我正在使用Python 3.2.2。我認爲蘋果電腦標準配備一個較舊的版本,否則只要給他們發送遊戲就沒有問題,我想。

+1

你有沒有試過[py2app](http://svn.pythonmac.org/py2app/py2app/trunk/doc/index.html)? – 2012-04-08 17:02:09

+0

「交叉編譯」不是一個合適的術語,因爲你不是「編譯」任何東西(Python是一種解釋語言),你只是想獲取(打包)一個依賴於平臺的可執行文件,它提供了所需的運行時環境。 – phineas 2012-04-08 17:06:58

+0

感謝您提供有關拼圖,菲尼亞斯。至於py2App的建議,Brendan,似乎py2app只聲稱支持python 2.7。不管怎樣,我都會試試看看會發生什麼。謝謝。 – user1311674 2012-04-08 17:13:58

回答

0

據我所知,最後我使用了Mac OSX,它已經安裝了Python。這是與Mac OSX雪豹。

0

如果您可以在任何機器上通過Python運行您的代碼,則不需要編譯爲本機二進制文件。

您的代碼可以運行在Python 2.6中,這是Snow Leaopard自帶的默認設置,除非您使用了版本3的特定功能。試試如果它。如果是這樣它貫穿python /path/to/code.py

中的.py所以纔打包你的代碼也可以讓你的.py文件自執行與認領第一線,

#! /usr/bin/env python 
# this should be the first line in your .py file 

,並設置文件的可執行標誌,也許通過安裝在您的打包:

$ chmod +x code.py 

你會發現家當並不指向特定的Python二進制像/usr/bin/python,但對/env環境路徑,所以它會使用在whic默認解釋它運行的hever機器。

+0

他們似乎想讓它自成一體。 – Textmode 2013-08-29 10:23:09