我陷入了困境。我正在遵循以下教程(特别是6.4.2)
http://majorsilence.com/pygtk_audio_and_video_playback_gstreamer
我正在运行Python 2.7,PyGTK 2.24和GStreamer WinBuilds 10.7(主安装程序和SDK)。
当我尝试编译程序时,出现以下错误:
追踪(最近一次通话): 文件“”,第1行,in 进口gst 文件“C:\ Program Files \ OSSBuild \ GStreamer \ v0.10.6 \ lib \ site-packages \ gst-0.10 \ gst__init __。py”,第193行,in 来自_gst import * ImportError:DLL加载失败:找不到指定的模块。
如何导入gst模块? (记住你,我查了一下,pygst导入了。)
提前谢谢!
答案 0 :(得分:7)
这是因为您使用的是Python 2.7,GST默认值为2.6。这很容易解决:
转到C:\Program Files\OSSBuild\GStreamer\v0.10.6\sdk\bindings\python\v2.7\lib
并复制
gstreamer-0.10
和site-packages
到
C:\Program Files\OSSBuild\GStreamer\v0.10.6\lib
,替换现有文件。
然后删除文件C:\Program Files\OSSBuild\GStreamer\v0.10.6\lib\gstreamer-0.10\libgstpython-v2.6.dll
(或将扩展名更改为.dllx
或其他内容。)
现在应该可以了。
除了将GST更改为适合Python 2.7之外,您还可以使用Python 2.6。
修改强>
在尝试在新计算机上安装Gstreamer之后,我发现在import pygst
C:\Program Files\OSSBuild\Gstreamer\v0.10.7\lib\site-packages\
中删除PYTHONPATH
的额外反斜杠之前,我无法{{1}}。我相信这可能一直是你的问题。
答案 1 :(得分:4)
我在使用Python 2.7的Windows 7上遇到了同样的问题,但发布的解决方案无效。事实证明我的路径变量有些可疑,我仍然不知道为什么。以下是我修复它的方法:
pygst.pth
site-packages
PYTHONPATH
(我的计算机上为C:\Program
Files (x86)\OSSBuild\GStreamer\v0.10.7\lib\site-packages\
)到文件pygst.pth
然后可以在重新打开解释器后使用标准方法导入。
答案 2 :(得分:1)
在我的情况下,答案是将gstreamer二进制文件的位置添加到我的PATH和我的PYTHONPATH(不确定是否需要第二个)
C:\ Program Files(x86)\ OSSBuild \ GStreamer \ v0.10.7 \ bin
是我机器上的位置。
答案 3 :(得分:0)
有时系统中还有其他版本的相同dll会导致问题。要找出导致问题的DLL,请编写一个简单的python脚本,加载dll或pyd文件。当使用python.exe执行时,它将显示一个包含更好的错误消息的对话框,然后“ImportError:DLL加载失败:找不到指定的模块。”
这是python脚本。
import ctypes ctypes.CDLL("C:\gstreamer-sdk\0.10\x86\lib\python2.7\site-packages\gst-0.10\gst\_gst.pyd")