我正在构建一个GUI tkinter python3应用程序并尝试使用py2app进行编译。出于某种原因,当我尝试在dist文件夹中启动.app包时,它给出了我的错误:
主要脚本无法位于Resources文件夹中
我想知道它为什么这样做,因为它相当令人沮丧,我无论如何都找不到任何关于它的东西。我将.py文件复制到资源文件夹(Networking.py)。在此错误之前,我还在Info.plist中发现了一个错误。在它声明运行时可执行文件的密钥中,我发现它正在尝试获取python2.7,我已经更新并且不再使用它。我将其更改为我当前的版本,其路径如下所示:
/Library/Frameworks/Python.framework/Versions/3.6/Python
可能值得注意的是,它之前有一条奇怪的路径,这对我来说似乎不是一条正确的道路。这是
@executable_path /../ Frameworks / Python.framework / Versions / 2.7 / Python
我完全删除了这个......这是错的吗?我对XML一无所知,这似乎是......
编译时也是如此:
错误:[错误1]不允许操作:' /Users/Ember/dist/Networking.app/Contents/MacOS/Networking'
任何帮助都将受到高度赞赏!谢谢!
修改
我实际上想通了:有点愚蠢的错误,但是因为我使用的是python 3.x,所以在进行之前我必须输入python3。
答案 0 :(得分:0)
在您用于创建应用程序的“setup.py”文件中,您是否记得列出代码中使用的所有模块。例如,如果您使用了OS和Glob模块,那么您可以将它添加到“OPTIONS”旁边的setup.py中:
OPTIONS = {'argv_emulation': True, 'includes':['glob', 'os']}
基本上,您导入模块的任何内容都应包含在setup.py中。如果有效,请告诉我。
答案 1 :(得分:0)
我实际上想通了:有点愚蠢的错误,但由于我使用的是python 3.x,我必须在执行之前键入python3
。
答案 2 :(得分:0)
我遇到了同样的问题。
python setup.py py2app
我尝试过
python3 setup.py py2app
,效果很好。希望这会有所帮助。