我想创建一个名为'dodgeball'的应用程序,我有我的主脚本(使用pygame)和我的setup.py脚本.我需要一个名为ball.bmp的图像.
在我的setup.py脚本中,我有以下代码:来自setuptools import setup
APP = ['dodgeball.py']
DATA_FILES = ["ball.bmp"]
OPTIONS = {'argv_emulation': True}
setup(
app=APP,
data_files=DATA_FILES,
options={'py2app': OPTIONS},
setup_requires=['py2app'],
)
Run Code Online (Sandbox Code Playgroud)
每当我尝试使用终端中的以下内容制作应用程序时:
python setup.py py2app
Run Code Online (Sandbox Code Playgroud)
一切正常
*** creating application bundle: dodgeball ***
Run Code Online (Sandbox Code Playgroud)
然后它返回一个错误:
error: [Errno 1] Operation not permitted: '/Users/**********/Desktop/Dodgeball/dist/dodgeball.app/Contents/MacOS/dodgeball'
Run Code Online (Sandbox Code Playgroud)
如果它有帮助,我在Mac OS X El Capitan(10.11)上.我知道El Capitan和任何Apple更新一样,都会有新的软件和功能可能会破坏这样的东西.
题
如何修复此错误,然后允许py2app创建一个功能齐全的应用程序?
我一直在为AGES使用pygame,从来没有像这样引发过错误.
Traceback (most recent call last):
File "dodgeball.py", line 1, in <module>
import pygame
File "/Library/Python/2.7/site-packages/pygame/__init__.py", line 95, in <module>
from pygame.base import *
ImportError: dlopen(/Library/Python/2.7/site-packages/pygame/base.so, 2): Library not loaded:
@executable_path/../Frameworks/SDL.framework/Versions/A/SDL
Referenced from: /Library/Python/2.7/site-packages/pygame/base.so
Reason: unsafe use of @executable_path in /Library/Python/2.7/site-packages/pygame/base.so with restricted binary
Run Code Online (Sandbox Code Playgroud)
我被告知问题是多个SDL库,但我找不到任何重复的SDL库.