Search code examples
pythonpygtkgstreamer

Cannot Import GST in Python


I'm in a quandary. I'm following the following tutorial (specifically, 6.4.2)

http://majorsilence.com/pygtk_audio_and_video_playback_gstreamer

I'm running Python 2.7, PyGTK 2.24, and GStreamer WinBuilds 10.7 (the main installer and the SDK).

When I try and compile the program, I get the following error:

Traceback (most recent call last): File "", line 1, in import gst File "C:\Program Files\OSSBuild\GStreamer\v0.10.6\lib\site-packages\gst-0.10\gst__init__.py", line 193, in from _gst import * ImportError: DLL load failed: The specified module could not be found.

How do I get the gst module to import? (Mind you, I checked, and pygst DOES import.)

Thank you in advance!


Solution

  • This is because you are using Python 2.7, and the GST default is 2.6. This is really easy to fix:

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

    and copy

    gstreamer-0.10 and site-packages to

    C:\Program Files\OSSBuild\GStreamer\v0.10.6\lib, replacing any existing files.

    Then delete the file C:\Program Files\OSSBuild\GStreamer\v0.10.6\lib\gstreamer-0.10\libgstpython-v2.6.dll (or change the extension to .dllx or something).

    Now it should work.

    Alternatively to changing GST to suit Python 2.7, you could just use Python 2.6.

    EDIT: After attempting to install Gstreamer on a new computer, I found that I could not import pygst until I removed the extra backslash from C:\Program Files\OSSBuild\Gstreamer\v0.10.7\lib\site-packages\ in PYTHONPATH. I believe this may have been your problem all the way along.