NameError: global name 'EventLoop' is not defined - pyglet

NameError: global name 'EventLoop' is not defined - pyglet

我正在尝试 python 为我播放一个音频文件。我正在思考的树冠中编写我的代码。

import pyglet

sound = pyglet.media.load('song.wav')
sound.play()
pyglet.app.run()

当我 运行 出现这个错误时:NameError: global name 'EventLoop' is not defined 此外,音频文件在程序错误之前播放第一个音符。

我不知道发生了什么。

p.s。我需要 pylab 后端与 pyglet 交互吗?

OS - osx 10.12.1 pyglet 版本 1.1.4-3

回溯

NameError                                 Traceback (most recent call last)
/Users/name/Documents/name/Arduino Projects/python/Audio Testing.py in <module>()
      3 sound = pyglet.media.load('s.wav')
      4 sound.play()
----> 5 pyglet.app.run()

/Users/name/Library/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/pyglet/app/__init__.pyc in run()
    262 
    263     '''
--> 264     EventLoop().run()
    265 
    266 def exit():

NameError: global name 'EventLoop' is not defined 

我试图重现该错误但无法重现,尽管这个库似乎也有一些其他错误。

我确实发现使用最新版本的库效果更好。我的建议是将您的版本从 1.1.4 提高到 1.2.4

pip uninstall pyglet
pip install pyglet==1.2.4