问题描述
显然ElCapitan拥有一个称为“系统完整性保护”的功能,该功能可以防止任何用户(甚至root用户)修改某些OS资源。例如,在这种情况下,您拥有python可执行文件的/ usr / bin目录。要自签名python二进制文件,您可以通过以下方式禁用SIP:在恢复模式下重新启动Mac(按住CMD + R时重新启动),然后在终端中键入以下命令:
csrutil disable
然后引导回常规OSX,并按照以下步骤对python进行自签名并执行:
codesign -s "My Signing Identity" -f $(which python)
最后重新引导回“恢复模式”,然后重新启用SIP:
csrutil enable
解决方法
当我在Mac上运行python应用程序时,它显示了许多有关希望“ Python.app”接受传入网络连接的对话框。
即使我允许多次,它也会一次又一次地显示。
如何让它一次又不显示呢?
编辑
我发现了这个问题: 将Python添加到OSX防火墙选项吗?
我按照公认的答案去做,但是最后我跑步codesign -s "My Signing Identity" -f $(which python)
时说:
/usr/bin/python: replacing existing signature
error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/codesign_allocate: can't create output file: /usr/bin/python.cstemp (Operation not permitted)
/usr/bin/python: the codesign_allocate helper tool cannot be found or used
下一步怎么办?