首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用py2app?

如何使用py2app?
EN

Stack Overflow用户
提问于 2011-04-10 02:57:06
回答 3查看 11.5K关注 0票数 7

好了--开始了。我正在尝试学习如何使用py2app,所以我创建了一个简单的hello_world.py文件

代码语言:javascript
复制
#! /usr/bin/env python
def main():
print "Hello"

if __name__=="__main__":
    main()

我遵循了一个教程,并执行了以下操作:

代码语言:javascript
复制
py2applet --make-setup hello.py
python setup.py py2app -A

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

代码语言:javascript
复制
python hello.app

出现以下错误:

代码语言:javascript
复制
/Library/Frameworks/Python.framework/Versions/2.6/Resources/Python.app/Contents/MacOS/Python: can't find '__main__.py' in 'hello.app'

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

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

代码语言:javascript
复制
"""
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'],
)
EN

回答 3

Stack Overflow用户

发布于 2011-04-10 03:03:56

您已经成功地使用了py2app -它只需打开,打印"hello“,然后很快关闭!

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

代码语言:javascript
复制
print "Hello"
import time
time.sleep(5)

time.sleep会在给定的秒数内暂停程序。

票数 10
EN

Stack Overflow用户

发布于 2011-04-10 03:07:59

你真的只想在图形用户界面应用程序中使用py2app,或者在后台运行的应用程序。

如果想要从命令行运行py2app构建的应用程序,则需要在应用程序包中执行二进制文件;包本身不能直接执行,因此如下所示:

代码语言:javascript
复制
dist/hello.app/Contents/MacOS/hello

对于只打印到标准输出的脚本,您可以尝试使用Platypus (尽管它不像py2app那样进行依赖项打包)。

票数 5
EN

Stack Overflow用户

发布于 2011-04-10 03:16:27

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5607121

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档