2012-04-08 88 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