【问题标题】:how do I use py2app?如何使用 py2app?
【发布时间】:2011-08-02 04:52:05
【问题描述】:

好的 - 到此为止。我正在尝试学习如何使用 py2app,所以我创建了一个简单的 python 文件;只是 hello_world.py

#! /usr/bin/env python
def main():
print "Hello"

if __name__=="__main__":
    main()

我按照教程做了以下操作:

py2applet --make-setup hello.py
python setup.py py2app -A

这创建了两个子目录(build 和 dist),在 dist 中有一个名为 hello.app 的文件。我试图通过 GUI 启动它,但它启动不到一秒钟然后就消失了。然后我去了 CL,但只是尝试运行它没有用,所以我使用了:

python hello.app

出现以下错误:

/Library/Frameworks/Python.framework/Versions/2.6/Resources/Python.app/Contents/MacOS/Python: can't find '__main__.py' in 'hello.app'

我整天都在谷歌上搜索,但找不到任何教程或指南等。我真的被困住了 :-(

我不知道这是否有帮助,但这就是 setup.py 中的内容

"""
This is a setup.py script generated by py2applet

Usage:
    python setup.py py2app
"""

from setuptools import setup

APP = ['hello.py']
DATA_FILES = []
OPTIONS = {'argv_emulation': True}

setup(
    app=APP,
    data_files=DATA_FILES,
    options={'py2app': OPTIONS},
    setup_requires=['py2app'],
)

【问题讨论】:

    标签: python macos py2app


    【解决方案1】:

    您已成功使用 py2app - 它只是打开,打印“hello”,然后很快关闭!

    如果你想看点什么,就让它暂停一下:

    print "Hello"
    import time
    time.sleep(5)
    

    time.sleep 将程序暂停给定的秒数。

    【讨论】:

    • 好答案 - 虽然没有显示任何内容,因为没有 GI,但感谢您的提示:-)
    【解决方案2】:

    您真的只想将 py2app 与 GUI 应用程序或在后台运行的应用程序一起使用。

    如果你想从命令行运行 py2app 构建的应用程序,你需要执行应用程序包内的二进制文件;捆绑包本身不能直接执行,所以是这样的:

    dist/hello.app/Contents/MacOS/hello
    

    对于只打印到标准输出的脚本,您可以尝试Platypus(尽管它不执行 py2app 的依赖打包工作)。

    【讨论】:

      【解决方案3】:

      它似乎一直在工作 - 脚本运行得如此之快,我没有机会看到它。如果有人遇到此问题,请转到 http://svn.pythonmac.org/py2app/py2app/trunk/doc/index.html 并按照教程进行操作。还请阅读给出的答案和我留下的答复。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-02-14
        • 1970-01-01
        • 1970-01-01
        • 2011-08-02
        • 2012-05-16
        • 2013-11-09
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多