0

我正在尝试学习 pygame,并且我发现完成游戏(假设安装了 python 2.6 和 pygame)的最佳方法是拥有一个运行它的 applescript,并保存为应用程序包(包含 python 文件等)捆)。这是我所拥有的:

do shell script "cd " & the quoted form of the POSIX path of (path to me) & "Contents/Resources/files\n/usr/local/bin/pythonw creeps.py"

我需要 cd 命令,因为 python 代码使用相对路径来获取其图像文件夹。files 目录是我的 python 文件所在的位置,以及诸如“images”之类的子目录。我认为拥有一个这样的应用程序文件比一个单独的 .py 文件要好得多,默认情况下它可以被任何东西打开。你认为这是捆绑 python 脚本的好方法吗?另外,我是否可以将 pygame 与它捆绑在一起,而不是要求也安装它?谢谢。

此外,现在脚本运行,python 也在运行,每个都有自己的停靠图标。我可以让脚本执行并退出,让 python 运行吗?谢谢。

我将脚本更改为:

do shell script ". ~/.bash_profile\npythonw2.6 " & the quoted form of the POSIX path of (path to me) & "Contents/Resources/files/creeps.py"

这样,它会搜索路径,而不是只在 /usr/local/bin 中查找。~/.bash_profile需要调用来设置和导出 python 的 $PATH(它会在.bash_profile你安装 python 时自动添加)。

一个问题是脚本应用程序包在运行时“没有响应”,但 Python 应用程序很好。如何让脚本应用程序包让 python 运行,然后退出并让 python 自行离开?我不能把 pygame 模块放在包里吗?它只有~9MB。

4

1 回答 1

1

pyinstaller应该让你捆绑 pygame(使用 SVN 版本:发布的版本已经过时了)。另外,我建议你让你的代码更好地找到相关目录:

import os
resourcesdir = os.path.join(os.path.dirname(__file__), 'Resources')

或类似的,以避免笨重的 cd;-)。

于 2009-09-07T06:38:48.140 回答