簡體   English   中英

無法在 Python 中導入 GST

[英]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.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直到我從PYTHONPATH C:\\Program Files\\OSSBuild\\Gstreamer\\v0.10.7\\lib\\site-packages\\中刪除了額外的反斜杠。 我相信這可能一直是你的問題。

我在使用 Python 2.7 的 Windows 7 上遇到了同樣的問題,但發布的解決方案不起作用。 結果發現我的路徑變量有些可疑,我仍然不知道為什么。 這是我修復它的方法:

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM