4

我有 pysdl2 的问题。我正在尝试从 site-packages\sdl2\examples 启动示例并看到此错误:

c:\Python33\Lib\site-packages\sdl2\examples>python draw.py
Traceback (most recent call last):
  File "draw.py", line 10, in <module>
    import sdl2.ext as sdl2ext
  File "C:\Python33\lib\site-packages\sdl2\ext\__init__.py", line 14, in <module>
        from .common import *
  File "C:\Python33\lib\site-packages\sdl2\ext\common.py", line 8, in <module>
    from .. import sdlttf
  File "C:\Python33\lib\site-packages\sdl2\sdlttf.py", line 40, in <module>
    os.getenv("PYSDL2_DLL_PATH"))
  File "C:\Python33\lib\site-packages\sdl2\dll.py", line 51, in __init__
    raise RuntimeError("could not find any library for %s" % libinfo)
RuntimeError: could not find any library for SDL2_ttf

但是不使用 sdl2_ttf 的文件(例如 sdl2hello.py)可以正常工作并且没有错误。我不知道如何解决它。

附加信息:WinXP SP3 32 位

4

2 回答 2

4

这个错误似乎是脚本找不到SDL2_ttf包的结果。

按照PySDL2 手册的说明,您必须PYSDL2_DLL_PATH像这样设置:

# Win32 platforms
set PYSDL2_DLL_PATH=C:\path\to\fancy_project\third_party

# Unix/Posix-alike environments - bourne shells
export PYSDL2_DLL_PATH=/path/to/fancy_project/third_party

# Unix/Posix-alike environments - C shells
setenv PYSDL2_DLL_PATH /path/to/fancy_project/third_party

所以你只需要在SDL2_ttf这里获取包:http://www.libsdl.org/projects/SDL_ttf/并下载与你的系统相对应的运行时库(http://www.libsdl.org/projects/SDL_ttf/release/ SDL2_ttf-2.0.12-win32-x86.zip)并将其添加到相同的文件夹中SDL2.dll。退房C:\your-python-directory\DLLs

, SDL_image,和(在另一个网站上SDL_mixer,尽管最后一个)是一样的。SDL_netSDL_gfx

希望这可以帮助 !

于 2013-08-16T15:58:46.933 回答
1

遇到同样的问题

brew install sdl2

解决了我在 OSX 上的问题

于 2018-10-15T13:10:11.670 回答