4

次の方法でpySDL2 0.4.1をインストールしました。

と入力して、ソース パッケージをダウンロードしますpython setup.py install。次に、コピーペーストされた PyDev Eclipse の「The Pong Game: Getting Started」チュートリアル コード例を実行しようとしました。

os、sysのインポート

try:
    os.environ["PYSDL2_DLL_PATH"] = "/home/me/workspace/Pong/third-party"
    print(os.getenv("PYSDL2_DLL_PATH"))
    from sdl2 import events, SDL_QUIT
    import sdl2.ext as sdl2ext
except ImportError:
    import traceback
    traceback.print_exc()
    sys.exit(1)

def run():
    sdl2ext.init()
    window = sdl2ext.Window("The Pong Game", size=(800, 600))
    window.show()
    running = True
    while running:
        events = sdl2ext.get_events()
        for event in events:
            if event.type == SDL_QUIT:
                running = False
                break
        window.refresh()
    return 0

if __name__ == "__main__":
    sys.exit(run())

次のエラーが発生しました。

Traceback (most recent call last):
  File "/home/me/workspace/Pong/Main.py", line 11, in <module>
    from sdl2 import *
  File "/usr/local/lib/python3.3/dist-packages/sdl2/__init__.py", line 2, in <module>
    from .dll import get_dll_file, _bind
  File "/usr/local/lib/python3.3/dist-packages/sdl2/dll.py", line 90, in <module>
    dll = _DLL("SDL2", ["SDL2", "SDL2-2.0"], os.getenv("PYSDL2_DLL_PATH"))
  File "/usr/local/lib/python3.3/dist-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

Synaptic経由でPypyとlibSDLの両方をインストールしており、PyDev - PythonPathに追加された外部ライブラリはありません。

私は何を間違っていますか?

4

2 に答える 2

0

ほぼ解決。Ubuntu には SDL1.2 があり、SDL のメイン ダウンロード ページも SDL1.2 につながっています。次のように入力して、ソースパッケージをインストールする必要があります。

mkdir /opt/sdl2
cd /opt/sdl2
hg clone http://hg.libsdl.org/SDL SDL
cd SDL
mkdir build && cd build
../configure
make
sudo make install 

次に、 http: //www.libsdl.org/tmp/SDL_image/ から SDL_image-2.xxtar.gz をダウンロードし ます。

次のように入力します。

../configure
make
sudo make install 

最後に次のように入力します。

ldconfig /usr/local/lib

現在動作していない唯一のことは、SDL_QUIT が認識されていないことです。

于 2013-08-11T05:08:37.933 に答える