【问题标题】:Applescript - pygame, application bundleApplescript - pygame,应用程序包
【发布时间】:2009-09-07 06:11:16
【问题描述】:

我正在尝试学习 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(安装python 时它会自动添加到.bash_profile)。

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

【问题讨论】:

    标签: python macos applescript pygame


    【解决方案1】:

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

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

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

    【讨论】:

    • 感谢相关目录提示,现在使用它。 pyinstaller 比我已经做过的更好?
    • @Mk12,您也询问了捆绑 pygame 的问题。
    • 我实际上最终使用了 py2app
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-05
    • 2010-11-02
    • 2020-08-11
    • 2011-05-28
    相关资源
    最近更新 更多