我安装了pySDL2 0.4.1:
下载源包,
输入python setup.py install
。
然后我尝试将copypasted运行到PyDev eclipse“The Pong Game:Getting Started”教程代码示例中:
import 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。
我做错了什么?
答案 0 :(得分:1)
似乎PySDL2找不到SDL2
运行时库。它们可以在libsdl download page上找到(Linux除外)。
然后你应该通过设置PYSDL2_DLL_PATH
来让PySDL2成为库的位置:
# 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
或在python脚本中:
# Win32 Platform path
os.environ["PYSDL2_DLL_PATH"] = "C:\\path\\to\\fancy_project\\third_party"
# Unix/Posix-alike environments path
os.environ["PYSDL2_DLL_PATH"] = "/path/to/fancy_project/third_party"
这样,PySDL2将始终找到库文件(只要路径是正确的)!这对我来说似乎更容易。
使用SDL2快乐编码!
答案 1 :(得分: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
然后从下载SDL_image-2.x.x.tar.gz http://www.libsdl.org/tmp/SDL_image/
并输入:
../configure
make
sudo make install
最后输入:
ldconfig /usr/local/lib
现在唯一不起作用的是SDL_QUIT未被识别。