我使用py2app开发了一款应用。在mac osx 10.9上使用python 2.7 当我启动应用程序(通过单击任何文件)时,它开始执行通过默认文件打开程序打开文件所需的操作,然后监视文件更改。 我在python代码中传递 filename作为参数。 但是应用程序无法一次打开多个文件。我发现py2app的问题为py2app issue 那么,有没有其他方法将python代码转换为应用程序,以便可以生成应用程序的多个实例(进程)
答案 0 :(得分:1)
这似乎是与Launch multiple process of an app on mac osx相同的问题。
我可以提出的问题解释的唯一解决方法是将应用程序分成两部分:一个将作为主应用程序的包装脚本,以及用作&#的真实脚本34; - 额外的脚本&#34 ;.包装器脚本会将参数转发给真实脚本并退出,例如:
# wrapper.py
import os, subprocess, sys
appdir = os.path.dirname(sys.argv[0])
subprocess.Popen([
os.path.join(appdir, "real-script")] + sys.argv[1:])
sys.exit(0)
在setup.py中:
setup(
name="MyApp",
app=["wrapper.py"],
options=dict(py2app=(extra_scripts=["real-script.py"])))
(所有代码都在未经测试的情况下输入答案,可能还有一些错误)