我在Mac OS X 10.11.4下使用Python 3.5.1和PyQt 5.6构建了一个应用程序。一切都运行良好的分拆。
我使用Pyinstaller 3.2捆绑了它。在应用程序从磁盘读取文本文件之前,一切似乎都能正常工作。文件访问不是问题,因为我可以使用libmagic
读取所有文件属性,我这样做是为了过滤掉不需要的输入格式,因为这些是我的应用程序要处理的用户选择的文件。
当以通常的方式将文本文件的内容读入变量时,捆绑的应用程序会崩溃:text = fobj.read()
。但是,先前的文件打开语句是成功的。
为了让事情变得更加奇怪,当使用open
命令从终端启动应用程序时,只有在通过双击应用程序文件启动应用程序时才会发生这种情况。我一直在阅读Mac OS X如何以这两种方式处理应用程序执行,但显然应该没有区别,正如open命令的手册页中所述:
open命令打开一个文件(或目录或URL),就像你一样 双击了文件的图标。
我几天来一直在努力解决这个问题而无法找到解决方案。我需要分发我的应用程序,但要求用户从终端启动它并不是很吸引人......任何帮助都非常感激。