2013-08-15 2 views
4

У меня проблема с pysdl2. Я пытаюсь запустить примеры из сайтов-пакетов \ sdl2 \ примеров и увидеть эту ошибку:RuntimeError: не удалось найти библиотеку для SDL2_ttf

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 32bit

ответ

4

Эта ошибка, как представляется, является результатом сценарий, не найдя SDL2_ttf пакет.

После the instructions of the PySDL2 manual, вы должны поставили 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_net и SDL_gfx (на другом сайте, хотя для этого последнего).

Надеюсь, это поможет!

+0

ответьте, если это решит вашу проблему - спасибо :) – achedeuzot