我正在构建一个GUI tkinter python3应用程序,并尝试使用py2app进行编译。出于某种原因,当我尝试在dist文件夹中启动.app捆绑包时,会出现以下错误:
无法在Resources文件夹中找到主脚本
我想知道它为什么这么做,因为这相当令人沮丧,我在任何地方都找不到任何关于它的信息。我将.py文件复制到resources文件夹(Networking.py(中。在此错误之前,我还在Info.plist中发现了一个错误。在它声明运行时可执行文件的键中,我发现它正在尝试获取python2.7,我已经更新了它,不再使用它。我将其更改为当前版本,其路径如下:
/Library/Frameworks/Python.framework/Versions/3.6/Python
值得注意的是,它之前有一个奇怪的路径,对我来说这不是一个合适的路径。它是
@executable_path//Frameworks/Python.framework/Versions/2.7/Python
我完全删除了这个。。。这错了吗?我对XML一无所知,它看起来就是…
编译时也发生了以下情况:
错误:[Erno 1]不允许操作:"/Users/Ember/dist/Networking.app/Contents/MacOS/Networking">
如有任何帮助,我们将不胜感激!谢谢
编辑
事实上,我发现了:这是一个有点愚蠢的错误,但由于我使用的是python 3.x,所以在执行之前我必须键入python3。
在用于创建应用程序的"setup.py"文件中,是否记得列出代码中使用的所有模块。例如,如果您使用OS和Glob模块,那么您将把它添加到"OPTIONS"旁边的setup.py中:
OPTIONS = {'argv_emulation': True, 'includes':['glob', 'os']}
基本上,导入到模块中的任何东西都应该包含在setup.py中。请告诉我这是否有效。
我确实发现了:这是一个有点愚蠢的错误,但由于我使用的是python 3.x,所以在执行之前我必须键入python3
。
我也遇到了同样的问题。
python setup.py py2app
我试过
python3 setup.py py2app
而且效果很好。希望这能有所帮助。