无法在Python中导入GST

时间:2011-08-02 05:03:46

标签: python pygtk gstreamer

我陷入了困境。我正在遵循以下教程(特别是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导入了。)

提前谢谢!

4 个答案:

答案 0 :(得分:7)

这是因为您使用的是Python 2.7,GST默认值为2.6。这很容易解决:

转到C:\Program Files\OSSBuild\GStreamer\v0.10.6\sdk\bindings\python\v2.7\lib

并复制

gstreamer-0.10site-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上遇到了同样的问题,但发布的解决方案无效。事实证明我的路径变量有些可疑,我仍然不知道为什么。以下是我修复它的方法:

  • 我在Python27 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")