2015-02-23 22 views
1

我正在开发一个应用程序使用PySide GUI框架,Python 2.7在Windows 7/Windows 8 64位(PySide和Python都是32位)。
我制作了一个使用视频播放器的Phonon包的小部件。起初我试图在Windows 7上运行程序 - 成功。但是,安装所有相同的包,我不能在Windows上运行它8.
错误我收到,当我打开视频播放器或尝试切换视频:PySide声子错误,后端插件无法加载

WARNING: bool __thiscall Phonon::FactoryPrivate::createBackend(void) phonon backend plugin could not be loaded 
WARNING: bool __thiscall Phonon::FactoryPrivate::createBackend(void) phonon backend plugin could not be loaded 
WARNING: bool __thiscall Phonon::FactoryPrivate::createBackend(void) phonon backend plugin could not be loaded 
WARNING: bool __thiscall Phonon::FactoryPrivate::createBackend(void) phonon backend plugin could not be loaded 
WARNING: bool __thiscall Phonon::FactoryPrivate::createBackend(void) phonon backend plugin could not be loaded 
WARNING: Phonon::createPath: Cannot connect MediaObject (no objectName) to AudioOutput (no objectName). 
WARNING: bool __thiscall Phonon::FactoryPrivate::createBackend(void) phonon backend plugin could not be loaded 
WARNING: Phonon::createPath: Cannot connect MediaObject (no objectName) to VideoWidget (no objectName). 
WARNING: bool __thiscall Phonon::FactoryPrivate::createBackend(void) phonon backend plugin could not be loaded 

PySide插件目录拥有所有必要的插件。目录C:\ Python27 \ LIB \站点包\ PySide \插件\ phonon_backend内容是:

  • phonon_ds9d4.dll
  • phonon_ds94.dll

我试图从setup.py安装包使用此选项:

data_files=[ 
    ('phonon_backend', [ 
     'C:\Python27\Lib\site-packages\PySide\plugins\phonon_backend\phonon_ds94.dll' 
    ]) 
] 

来源可以在这里看到:https://github.com/dpitkevics/stream-ies/blob/master/widgets/video_player.py#L17

现在我在死胡同。我没有想法在哪里进一步搜索。而最奇怪的是,在其他PC上,同样的包装就像魅力一样。
任何帮助将不胜感激。

回答

1

我有同样的问题,尽管搞清楚我PySide \ plugins \ phonon_backend中有phonon_ds9d4.dll和phonon_ds94.dll,我也遇到了相同的警告。 感谢https://srinikom.github.io/pyside-docs/PySide/QtCore/QCoreApplication.html?highlight=librarypaths#PySide.QtCore.PySide.QtCore.QCoreApplication.libraryPaths,我发现我的路径指向PyQt,即C:/ Python34/Lib/site-packages/PyQt5/plugins,而不是PySide。 通过消除PyQt5(我没有使用反正),它解决了我的问题和一些更多...

我的切入点是这样

if __name__ == '__main__': 
    app = QApplication(sys.argv) 

    for lppath in app.libraryPaths(): 
     print(lppath) 
    tologin = LoginWidget() 
    ret = app.exec_() 
    sys.exit(ret) 

for循环返回的路径,其中PySide正在搜索为插件。