NotImplementedError:字体模块不可用

时间:2012-07-23 14:50:49

标签: python fonts pygame py2exe

我在安装文件中编写了以下代码,并在默认文件夹中包含sdl_ttf.dll“,”SDL.dll。 但是,它显示错误消息:

NotImplementedError:font module not available
<Import error: DLL load failed:can't find assigned module>

代码

from distutils.core import setup

import py2exe,sys,os
import pygame

setup(console=['blackjack.py'])

origIsSystemDLL = py2exe.build_exe.isSystemDLL
def isSystemDLL(pathname):
       if os.path.basename(pathname).lower() in ["sdl_ttf.dll", "SDL.dll"]:
               return 0
       return origIsSystemDLL(pathname)
py2exe.build_exe.isSystemDLL = isSystemDLL

pygamedir = os.path.split(pygame.base.__file__)[0]
os.path.join(pygamedir, pygame.font.get_default_font()),
os.path.join(pygamedir, 'SDL.dll'),
os.path.join(pygamedir, 'SDL_ttf.dll')

有什么不对吗?

1 个答案:

答案 0 :(得分:0)

您的支票

if os.path.basename(pathname).lower() in ["sdl_ttf.dll", "SDL.dll"]:

无法使用,因为您在文件名上调用lower(),但使用SDL.dll而不是sdl.dll,因此py2exe将不包含sdl库。

您也可以尝试使用pygame wiki中的this脚本。