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!
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
andsite-packages
toC:\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 fromC:\Program Files\OSSBuild\Gstreamer\v0.10.7\lib\site-packages\
inPYTHONPATH
. I believe this may have been your problem all the way along.Sometime there are other version of same dll in your system with cause the problem. To find out which dll causing the problem, you write a simple python script, loading the dll or pyd file. When execute with python.exe, it will show you a dialog box with much better error message then the "ImportError: DLL load failed: The specified module could not be found."
Here is the python script.
In my case the answer was to add the location of the gstreamer binaries to my PATH and my PYTHONPATH (not sure if the second is required)
C:\Program Files (x86)\OSSBuild\GStreamer\v0.10.7\bin
is the location on my machine.
I had the same problem on Windows 7 with Python 2.7, but the posted solution didn't work. It turned out there was something fishy going on with my path variables, I still don't know why. Here's how I fixed it:
pygst.pth
in the Python27site-packages
PYTHONPATH
, which wasC:\Program Files (x86)\OSSBuild\GStreamer\v0.10.7\lib\site-packages\
on my computer, into the filepygst.pth
It was then able to import using the standard method after reopening the interpreter.