2014-02-28 52 views
0

我想先说说问这里的问题不是我轻易做的事情。我现在一直试图从源代码安装Pygame 1.9.1四个小时,我遇到了几个问题,但能够克服每个问题。这是我完全陷入困境的第一个。在Mac OSX 10.9上编译Pygame 1.9.1 for Python 3.3

我解压pygame的-1.9.1release.tar.gz和CD的文件夹后,我跑“python3的setup.py安装”

/Library/Frameworks/SDL.framework/Versions/Current/Headers/SDL_syswm.h:58:10: fatal error: 'X11/Xlib.h' file not found 
#include <X11/Xlib.h> 
1 error generated. 
error: command '/usr/bin/clang' failed with exit status 1 

一些在线的研究后,我读了X11不再包含在OSX 10.9中,所以我安装了XQuartz,希望它可以作为替代品。 xquartz确实包含'Xlib.h',但它的文件路径是/opt/X11/include/X11/Xlib.h,安装脚本在这里找不到它。我已经尝试了几种方法来解决这个问题。

错误过程特别出现在安装的构建部分。我已经使用

python3 setup.py config --include-dirs /opt/X11/include 

以及

python3 setup.py config --include-dirs /opt/X11/include/X11 

,但得到了同样的错误尝试。

我在线阅读说,安装Xcode命令行工具可以解决这个问题。我大概95%肯定我之前有过命令行工具,但是我试图再次使用'xcode-select --install'来获取它们,只能告诉'无法安装软件,因为它目前不可用软件更新服务器“。 “没问题,”我告诉自己,只需从Mac开发者网站下载软件包即可。它没有任何帮助。

我也试着用命令

sudo ln -s /usr/include/X11 /opt/X11/include/X11 

我什么都试过符号链接,我明白这是最不,难道我能很好地做符号连接命令是错误的。我试过其他

两个命令

export C_INCLUDE_PATH=/opt/X11/include 
export CPLUS_INCLUDE_PATH=/opt/X11/include 

只是看文件,我碰到了启动脚本调试选项。 “python3 setup.py的建设-g”的输出为

running build 
running build_py 
running build_ext 
building 'pygame.display' extension 
/usr/bin/clang -fno-strict-aliasing -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -arch i386 -arch x86_64 -g -g -Ddarwin -I/Library/Frameworks/SDL.framework/Versions/Current/Headers -I/Library/Frameworks/Python.framework/Versions/3.3/include/python3.3m -c src/display.c -o build/temp.macosx-10.6-intel-3.3/src/display.o 
In file included from src/display.c:30: 
/Library/Frameworks/SDL.framework/Versions/Current/Headers/SDL_syswm.h:58:10: fatal error: 'X11/Xlib.h' file not found 
#include <X11/Xlib.h> 
     ^
1 error generated. 
error: command '/usr/bin/clang' failed with exit status 1 

我不知道还有什么我可以做,但我会很感激一些帮助与此有关。提前致谢!据我所知,

+0

我要一刺。(因人而异这是一个猜测) 出口INCLUDE = $ INCLUDE中:/ opt/X11 /包括/ X11 –

+0

感谢您的尝试,但该命令后没有运气。 (相同的错误) – Alec

回答

0

setup.py build|install命令接受CFLAGSLDFLAGS编译选项。

因此在这里,你可以做

CFLAGS=-I/opt/X11/include python3 setup.py install 

你可能需要LDFLAGS为好;我不知道确切位置,但类似

CFLAGS=-I/opt/X11/include LDFLAGS=-L/opt/X11/lib python3 setup.py install 

似乎顺理成章。

之后,您可能必须将您的DYLD_LIBRARY_PATH设置为指向X11库。如果你的安装进行中,但你的PyGame脚本不会运行,并抱怨没有找到X11库。因此

export DYLD_LIBRARY_PATH=/opt/X11/lib 

至于符号链接您尝试创建:这是错误的方式“轮:两个路径应该已经打开,所以我猜是因为/opt/X11/include/X11已经存在,你得到一个错误。但是对于上述,没有符号链接是必要的。

1

当我尝试将pygame安装到我的PyCharm项目的virtualenv中时,我遇到了类似的错误。我解决它通过cd荷兰国际集团到SDL框架目录下产生错误的和X11头文件复制到它:

$ cd /Library/Frameworks/SDL.framework/Versions/Current/Headers 
$ cp -R /opt/X11/include/X11 ./ 

然后$ pip install pygame运行,没有错误。