名称错误:全局名称'EventLoop'未定义 - pyglet

3
我正在尝试使用Python播放音频文件。我是在Enthought Canopy中编写代码的。
import pyglet

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

当我运行此代码时,出现错误:NameError:全局名称'EventLoop'未定义。此外,在程序出错之前,音频文件会播放第一个音符。
我完全不知道发生了什么。
附注:我需要将pylab后端设置为交互式才能使用pyglet吗?
操作系统- 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 

2
你能把完整的回溯信息原样发布吗? - Christian Dean
可能会有帮助:https://stackoverflow.com/questions/18033227/python-pyglet-and-opengl - whackamadoodle3000
PyLab - 不需要它来进行交互。我想知道你安装了哪个操作系统和 Pyglet 版本? - Torxed
我已将所有信息添加到上面的问题中。 - Sam Haberkorn
请确保您没有与重要的库模块同名的文件。 - user2357112
1个回答

1
我试图重现这个错误,但是无法成功,尽管这个库似乎还有其他一些bug。我发现使用最新版本的库效果要好得多。我的建议是将您的版本从1.1.4升级到1.2.4。
pip uninstall pyglet
pip install pyglet==1.2.4

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接