首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Py2app:不允许操作

Py2app:不允许操作
EN

Stack Overflow用户
提问于 2015-10-18 11:27:06
回答 6查看 9.8K关注 0票数 11

我想要创建一个名为“躲闪球”的应用程序,我有我的主脚本(它使用吡游)和我的setup.py脚本。我需要一个名为ball.bmp的图像,我也需要它。

在我的setup.py脚本中,我有以下代码:从setuptools导入安装程序

代码语言:javascript
复制
APP = ['dodgeball.py']
DATA_FILES = ["ball.bmp"]
OPTIONS = {'argv_emulation': True}

setup(
    app=APP,
    data_files=DATA_FILES,
    options={'py2app': OPTIONS},
    setup_requires=['py2app'],
)

每当我试图使用终端中的以下内容制作应用程序时:

代码语言:javascript
复制
python setup.py py2app

一切都进展到

代码语言:javascript
复制
*** creating application bundle: dodgeball ***

然后返回一个错误:

代码语言:javascript
复制
error: [Errno 1] Operation not permitted: '/Users/**********/Desktop/Dodgeball/dist/dodgeball.app/Contents/MacOS/dodgeball'

如果有帮助,我在(10.11)上。我知道El Capitan,就像苹果的任何更新一样,将会有新的软件和功能,可能会破坏像这样的东西。

问题

如何修复此错误,然后允许py2app制作一个功能齐全的应用程序?

EN

回答 6

Stack Overflow用户

发布于 2016-01-05 04:58:48

在我将操作系统升级到operating (10.11.2)之后,在使用py2app打包我的应用程序时也出现了类似的错误:

代码语言:javascript
复制
*** creating application bundle: MyApp ***
error: [Errno 1] Operation not permitted: '/Users/jake/work/my-app/dist/MyApp.app/Contents/MacOS/MyApp'

我做了一些研究并找到了一个解决方案: 1)禁用SIP;2)删除Python.framework上的受限文件标志。对我起作用了。

禁用SIP

  1. 重启你的Mac。
  2. 在OS启动之前,请按住Command+R,直到你看到一个苹果图标和一个进度条。释放。这让你恢复健康。
  3. 从“实用程序”菜单中,选择“终端”。
  4. 在提示符下键入以下内容: csrutil状态禁用重新启动

您可以按照上述步骤重新启用SIP,但可以使用:

代码语言:javascript
复制
csrutil enable

参考文献:

  • http://osxdaily.com/2015/10/05/disable-rootless-system-integrity-protection-mac-os-x/
  • http://www.macworld.com/article/2986118/security/how-to-modify-system-integrity-protection-in-el-capitan.html

删除受限制的文件标志

代码语言:javascript
复制
sudo chflags -R norestricted /System/Library/Frameworks/Python.framework

正如在https://forums.developer.apple.com/thread/6987中提到的

票数 8
EN

Stack Overflow用户

发布于 2017-11-07 10:36:48

我也有同样的问题。而不是跑

代码语言:javascript
复制
python setup.py py2app

我试过了

代码语言:javascript
复制
python3 setup.py py2app

而且效果很好。希望这能有所帮助。

票数 8
EN

Stack Overflow用户

发布于 2017-06-18 16:49:18

不要使用提供py2app的系统。运行这个程序解决了我的问题:

代码语言:javascript
复制
pip install --user --ignore-installed py2app

(我通常对需要禁用系统完整性保护的事情保持警惕)

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33197412

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档