[英]Cannot Import GST in Python
我進退兩難。 我正在關注以下教程(特別是 6.4.2)
http://majorsilence.com/pygtk_audio_and_video_playback_gstreamer
我正在運行 Python 2.7、PyGTK 2.24 和 GStreamer WinBuilds 10.7(主安裝程序和 SDK)。
當我嘗試編譯程序時,出現以下錯誤:
回溯(最近一次調用):文件“”,第 1 行,導入 gst 文件“C:\\Program Files\\OSSBuild\\GStreamer\\v0.10.6\\lib\\site-packages\\gst-0.10\\gst__init__.py”,行193、在 from _gst import * ImportError: DLL load failed: 找不到指定的模塊。
如何獲取要導入的 gst 模塊? (請注意,我檢查過,並且 pygst 確實會導入。)
先感謝您!
這是因為您使用的是 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
直到我從PYTHONPATH
C:\\Program Files\\OSSBuild\\Gstreamer\\v0.10.7\\lib\\site-packages\\
中刪除了額外的反斜杠。 我相信這可能一直是你的問題。
我在使用 Python 2.7 的 Windows 7 上遇到了同樣的問題,但發布的解決方案不起作用。 結果發現我的路徑變量有些可疑,我仍然不知道為什么。 這是我修復它的方法:
site-packages
創建了一個文件pygst.pth
PYTHONPATH
復制了路徑,即C:\\Program Files (x86)\\OSSBuild\\GStreamer\\v0.10.7\\lib\\site-packages\\
到文件pygst.pth
在重新打開解釋器后,它可以使用標准方法進行導入。
在我的情況下,答案是將 gstreamer 二進制文件的位置添加到我的 PATH 和我的 PYTHONPATH (不確定是否需要第二個)
C:\\Program Files (x86)\\OSSBuild\\GStreamer\\v0.10.7\\bin
是我機器上的位置。
有時您的系統中有其他版本的相同 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")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.