
pyinstaller创建了输出
dist/MyApplication.app
我可以直接从终端运行它
cd dist./MyApplication.app/Contents/MacOS/MyApplication
但是,如果我尝试直接运行应用程序包,请使用
open -a MyApplication.app
要么
open .# double click on MyApplication.app folder (appears just as MyApplication from finder)
它启动然后立即退出
现在,如果我导航到
$cd ./Contents/MacOS/
并打开一个发现者
$open .#then double click on MyApplication
它运行正常,但在后台打开终端窗口
Last login: Fri Mar 14 18:01:13 on ttys005MyApplication/dist/MyApplication.app/Contents/MacOS/MyApplication ; exit;MyApplication/dist/MyApplication.app/Contents/MacOS/MyApplication ; exit;
我使用类似的步骤来构建一个没有任何问题的windows exe(虽然在windows中没有MyApplication.app概念)
我该如何诊断这个问题?
谢谢
解决方法 所以我跟着这个 py2app tutorial看看它是否比pyinstaller更好用这个代码if __name__=="__main__": print "Hello"
并得到了类似的结果
即当我这样做时应用程序关闭
open -a HelloTest.app
虽然它运行良好
./HelloTest.app/Contents/MacOS/HelloTest
但是教程中的这个花絮解释了它
When run normally,your application’s stdout and stderr output will go to the Console logs. To see them,open the Console application:$open -a Console
检查控制台日志后,好像我跑了
open -a MyApplication.app
应用程序在沙箱中运行,如果打开任何要写入的文件而不指定绝对值
它将无法创建文件的路径
如果我跑
./MyApplication.app/Contents/MacOS/MyApplication
直接应用程序可以在当前目录中创建文件
所以我必须返回并在创建文件时指定完整路径,而不是假设它将在工作目录中创建.
总结以上是内存溢出为你收集整理的macos – 使用python构建的OSX应用程序如果从finder执行app bundle但是从命令行运行正常则立即退出全部内容,希望文章能够帮你解决macos – 使用python构建的OSX应用程序如果从finder执行app bundle但是从命令行运行正常则立即退出所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)