2010-10-17 149 views
1

我回溯如下:無法導入pyglet.media.avbin

C:\Romeo\Scripts>python 
Python 2.7 (r27:82525, Jul 4 2010, 09:01:59) [MSC v.1500 32 bit (Intel)] on win 
32 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import pyglet.media.avbin 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "C:\Romeo\lib\site-packages\pyglet\media\avbin.py", line 53, in <module> 
    darwin='/usr/local/lib/libavbin.dylib') 
    File "C:\Romeo\lib\site-packages\pyglet\lib.py", line 122, in load_library 
    raise ImportError('Library "%s" not found.' % names[0]) 
ImportError: Library "avbin" not found. 

我運行Windows 7 32位與DEP殘疾人和avbin.dll system32中。任何建議都非常感謝!

回答

5

這是在pyglet郵件列表中討論的,正如我發現的那樣,但是如果其他人在這裏查找答案,請將avbin.dll放在Windows 64版本的syswow64文件夾中。目前還不清楚爲什麼這應該是運行pyglet的地方,您需要使用32位python和32位avbin.dll,除非您編譯它或使用Christoph Gohlke在他的網站上編輯的其中一個: http://www.lfd.uci.edu/~gohlke/pythonlibs/#pyglet。但是,我猜這只是我們不知道的多一點窗外鍊金術。

3

將DLL複製到system32被認爲是不好的做法,除了嘗試將其複製到<your_python_home>\DLLs,推測C:\Python27\DLLs。您也可以嘗試C:\Python27\Lib\site-packages

這個庫不是用「正確」的安裝方法來處理這個問題,運行如python setup.py install

+1

是的,這被認爲是不好的做法,但他只是遵循pyglet的文檔/網站的指示。 – snapshoe 2010-10-17 22:59:45

0

我在Windows 7(64位)上運行32位的python 2.6,而且我遇到同樣的問題。 knitti的回答也不適合我。唯一有效的工作是將avbin.dll複製到我的.py文件所在的目錄中。

+0

真的嗎?我在64bit win7上使用python2.7,並使用github的thr pyglet最新源代碼。將AVbin10 32位二進制文​​件放到三個文件夾(與py文件相同的文件夾或C:\ Python27 \ DLL或C:/ Windows/system)中。 – otterb 2013-12-04 19:20:57

+0

系統路徑變量。 – Jeff 2014-03-29 14:53:34