无法导入pygame.font

时间:2012-12-02 15:52:55

标签: python sdl pygame sdl-ttf

我的操作系统是OSX 10.8(山狮),我使用的是python 2.7.3。我以为我已经成功安装了pygame。不幸的是,我错了。我能够导入pygame,但导入pygame.font时有错误

>>> import pygame
>>> import pygame.font
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: dlopen(/usr/local/lib/python2.7/site-packages/pygame/font.so, 2): Symbol not found: _TTF_CloseFont
Referenced from: /usr/local/lib/python2.7/site-packages/pygame/font.so
Expected in: flat namespace
in /usr/local/lib/python2.7/site-packages/pygame/font.so

我猜这是Framework SDL_ttf的一个问题,但我相信我已经成功安装了这个框架。我跟着this instruction安装了pygame,这是运行sudo python config.py

的结果
Hunting dependencies...
Framework SDL found
Framework SDL_ttf found
Framework SDL_image found
Framework SDL_mixer found
Framework smpeg not found
PNG     : found
JPEG    : found
SCRAP   : not found
PORTMIDI: not found
Framework CoreMidi found

我该怎么做才能导入pygame.font?

2 个答案:

答案 0 :(得分:1)

我无法弄清楚这个问题的解决方案,但我有另一种方法可以避免它。

而不是按照我在问题中提到的方式安装pygame,我决定使用以下方法来安装它。幸运的是,一切都运作良好。我也强烈推荐那些想要使用以下方法安装pygame的人。

1。 从python.org安装python:http://www.python.org/ftp/python/2.7.3/python-2.7.3-macosx10.6.dmg

pygame需要这个版本的python。你必须安装这个版本,但任何其他版本!! 这个.dmg文件将在以下路径中安装python:/Library/Frameworks/Python.framework/Versions/2.7/

如果没有错误,.dmg文件会自动将此路径添加到.bash_profile。 如果它不适合你,只需编辑.bash_profile并添加以下行:

PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}"
export PATH

打开一个新的bash,并使用which python检查您正在使用的python版本。如果您使用的版本是上述版本,则可以执行第2步。

2。 从pygame.org下载pygame1.9.1:http://pygame.org/ftp/pygame-1.9.1release-python.org-32bit-py2.7-macosx10.3.dmg并安装它。

3。 pygame只支持32位,这意味着你必须使用32位python运行你的pygame。幸运的是,使用32位python很容易:python2.7-32 your_pygame.py

答案 1 :(得分:0)

你可以导入pygame而不是pygame.font,这很奇怪。但是,您不必单独导入pygame.font。导入pygame时应该自动导入它。只是不要导入pygame.font,你应该没问题。