2015-10-18 134 views
1

我下载了最新的pygame 1.9.1源码。首先,我设置以下的环境变量:看来我有一个rpath问题在OSX上安装pygame El Capitan 10.11

export CC='/usr/bin/gcc' 
export CFLAGS='-isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk -I/opt/X11/include -arch i386 -arch x86_64' 
export LDFLAGS='-arch i386 -arch x86_64' 
export ARCHFLAGS='-arch i386 -arch x86_64' 

然后,在SDL.framework头我复制他们都到一个名为SDL处理在pygame的源的绝对路径的一些问题的子文件夹。设置这些东西似乎让我到了构建点。而且,安装运行良好。但是,当我尝试导入pygame时,我得到以下内容。

Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "/Library/Python/2.7/site-packages/pygame-1.9.1release-py2.7-macosx-10.11-intel.egg/pygame/__init__.py", line 95, in <module> 
    from pygame.base import * 
ImportError: dlopen(/Library/Python/2.7/site-packages/pygame-1.9.1release-py2.7-macosx-10.11-intel.egg/pygame/base.so, 2): Library not loaded: @rpath/SDL.framework/Versions/A/SDL 
    Referenced from: /Library/Python/2.7/site-packages/pygame-1.9.1release-py2.7-macosx-10.11-intel.egg/pygame/base.so 
    Reason: image not found 

假设rpath是正确的,在指定的位置肯定有一个SDL可执行文件。但是,它可能不正确,如何检查rpath。

回答

2

我没有问题,安装以下这里所描述的过程: http://kidscancode.org/blog/2015/09/pygame_install/

虽然这种使用自制安装所有的图书馆,如果你有他们,你应该能够使用安装pygame的:

$ pip3 install hg+http://bitbucket.org/pygame/pygame 

但是,要知道,Pygame的具有下埃尔卡皮坦了一些问题,如下所述: https://bitbucket.org/pygame/pygame/issues/284/max-osx-el-capitan-using-the-deprecated

最差的一个是日在图形不能正确渲染。优胜美地的情况并非如此。

编辑:

看来,这可能是一个SDL问题,而不是pygame的问题的基础上,这里的讨论: Rendering Glitch on Mac OSX El Capitan with OpenGL

我要看看我是否可以测试从1.2降级SDL_image .12至1.2.10确认。

+0

我们有很多python 2代码不会很快更新,因为我们有其他的软件包依赖是python 2,所以我已经更新了我的问题,以便更具体。不过,我非常希望在SDL_image测试后看到您的问题更新。 – John

+0

是的,因为这是SDL_image的问题,所以图形问题也出现在Python 2中(只是试过了)。降级测试还没有运气,因为它导致我陷入依赖问题。当我有更多时间时,可能不得不尝试El Cap的新副本。 – Chris

2

1)首先,如果你使用的酋长,你需要root访问权限添加到/ usr /地方:

sudo su 
chown -R $USER /usr/local 

2)然后安装自制:http://brew.sh/(安装Ruby,如果你没有它)

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 

3)在此之后,使用自制安装pygame的:

sudo brew install homebrew/python/pygame 

就职于米e :)