Reputation: 6898
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!
Upvotes: 1
Views: 12114
Reputation: 1
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.
import ctypes ctypes.CDLL("C:\gstreamer-sdk\0.10\x86\lib\python2.7\site-packages\gst-0.10\gst\_gst.pyd")
Upvotes: 0
Reputation: 4634
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.
Upvotes: 1
Reputation: 41
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 Python27 site-packages
PYTHONPATH
, which was C:\Program
Files (x86)\OSSBuild\GStreamer\v0.10.7\lib\site-packages\
on my computer, into the file pygst.pth
It was then able to import using the standard method after reopening the interpreter.
Upvotes: 4
Reputation: 5760
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.
Upvotes: 7