3

在 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)

4

2 回答 2

3

(自我回答)

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

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

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

PSS(安装 32 位 Python 后,您可能需要重新安装 32 位 Pygame 才能生效。这就是发生在我身上的事情)

于 2013-07-27T07:27:04.003 回答
2

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

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

然后,我可以import pygame正常使用基本的pygame功能,但是如果我尝试导入其他相关模块,例如import pygame.font,它会跳出font module not found错误。我尝试按照此处的建议手动安装一些缺少的模块来解决此问题:

$ 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

但是,这个问题仍然存在。

最后,我意识到这是一个依赖问题,所以我通过命令删除已安装的 pygamesudo python setup.py clean并删除python/site-packages. 我pygame通过命令重新安装:

sudo apt-get install python-pygame

一切正常。

于 2016-05-25T07:50:53.340 回答