Pygame:字体模块不可用

时间:2013-07-24 01:50:24

标签: python fonts module pygame

在OS X上运行Python 2.7.2和Pygame 1.9.2pre。

另一个不成熟的问题:初始化pygame.font模块会产生一个错误,我不敢......好吧,试图解决自己。我猜这是一个相当通用的pygame相关问题......但我找不到任何解决方案。

import pygame
pygame.init()

pygame.font.init()

给出:

Desktop/font.py:4: RuntimeWarning: use font: dlopen(/Library/Python/2.7/site-packages/pygame/font.so, 2): Library not loaded: /usr/X11/lib/libfreetype.6.dylib
  Referenced from: /Library/Frameworks/SDL_ttf.framework/Versions/A/SDL_ttf
  Reason: image not found
(ImportError: dlopen(/Library/Python/2.7/site-packages/pygame/font.so, 2): Library not loaded: /usr/X11/lib/libfreetype.6.dylib
  Referenced from: /Library/Frameworks/SDL_ttf.framework/Versions/A/SDL_ttf
  Reason: image not found)
  pygame.font.init()
Traceback (most recent call last):
  File "Desktop/font.py", line 4, in <module>
    pygame.font.init()
  File "/Library/Python/2.7/site-packages/pygame/__init__.py", line 70, in __getattr__
    raise NotImplementedError(MissingPygameModule)
NotImplementedError: font module not available
(ImportError: dlopen(/Library/Python/2.7/site-packages/pygame/font.so, 2): Library not loaded: /usr/X11/lib/libfreetype.6.dylib
  Referenced from: /Library/Frameworks/SDL_ttf.framework/Versions/A/SDL_ttf
  Reason: image not found)

这到底出了什么问题?字体模块无法使用的可能原因是什么?常见原因?常见修复?

如果有人能够告诉我什么是错的,即使它没有解决问题我也会很感激! 非常感谢!

编辑:我正在使用64位版本的Python和32位Pygame。 (似乎没有适用于Mac OS的64位Pygame)

2 个答案:

答案 0 :(得分:3)

(自我回答)

问题:使用32位Pygame和64位Python通常不是一个好主意。

解决方案:始终在64位架构中使用Python和Pygame。 (或32)。

P.S。目前似乎没有适用于OS X的64位Pygame,因此您必须使用32位Python。

P.S.S(在安装32位Python之后,您可能需要重新安装32位Pygame才能产生任何效果。这就是我发生的事情)

答案 1 :(得分:2)

我遇到了同样的问题,制作这个问题的进展如下:

  1. 我从http://www.pygame.org/
  2. 下载了pygame源文件
  3. 我使用命令pygame
  4. 安装python setup.py install

    然后,我可以import pygame并正常使用基本的pygame函数,但如果我尝试导入其他相关模块(如import pygame.font),则会跳出font module not found错误。我尝试通过手动安装一些缺少的模块来解决这个问题as suggested here

    $ sudo apt-get install python-dev libsdl-image1.2-dev libsdl-mixer1.2-dev  
    libsdl-ttf2.0-dev   libsdl1.2-dev libsmpeg-dev python-numpy subversion 
    libportmidi-dev ffmpeg libswscale-dev libavformat-dev libavcodec-dev
    

    然而,这个问题仍然存在。

    最后,我意识到这是一个依赖性问题,因此我通过命令sudo python setup.py clean删除已安装的pygame并删除python/site-packages中的所有文件。我通过命令重新安装pygame

    sudo apt-get install python-pygame
    

    一切正常。