Python vlc 安装问题

问题描述 投票:0回答:5

好吧,所以我正在尝试使用 pip 安装 vlc,它告诉我成功安装了 python-vlc 好吧,这就是我想要的,但是当我去运行该程序时,我试图在女巫中使用 vlc 在这里

import vlc
p = vlc.MediaPlayer("https://www.youtube.com/watch?v=jC1vtG3oyqg")
p.play()

有人告诉我这一点

Traceback (most recent call last):
  File "C:\Users\Matt\Desktop\test2.py", line 1, in <module>
    import vlc
  File "C:\Python27\lib\site-packages\vlc.py", line 173, in <module>
    dll, plugin_path  = find_lib()
  File "C:\Python27\lib\site-packages\vlc.py", line 150, in find_lib
    dll = ctypes.CDLL('libvlc.dll')
  File "C:\Python27\lib\ctypes\__init__.py", line 365, in __init__
    self._handle = _dlopen(self._name, mode)
WindowsError: [Error 126] The specified module could not be found

我不确定我应该做什么,因为 vlc 程序中有错误(我认为),如果你能帮助我并让这个为我工作,那就太棒了,非常感谢!!

python python-2.7 vlc python-vlc
5个回答
7
投票

您的问题是

libvlc.dll
不在 PATH 中。有 2 种方法可以纠正这个问题。

第一(临时):

set PATH=%PATH%;<path to your dll folder>

如本文第二个答案中所述:将目录添加到 Windows 中的 PATH 环境变量

第二(永远):

此解决方案使变量在每次重新启动计算机时都保留在路径中,但您需要 root 权限。和以前一样,您需要将 dll 文件夹的路径放入 Path 变量中,如本网站所述。 (这取决于您的系统版本):https://www.computerhope.com/issues/ch000549.htm

其他可能出现的问题

人们通常会下载 32 位 vlc 版本。如果您安装了 64 位版本的 python,这可能会导致一些问题。 (

Windows Error [193]
)。要解决这个问题,您只需重新安装 64 位 vlc 版本即可。


3
投票

我也有类似的问题。这是我的解决方案: 首先我检查了文件中的代码

__init__.py
。打印一些变量,例如
self._name
mode
以确保值正确。我查找了函数
_dlopen
,即来自
_ctypes
的LoadLibrary,发现模式参数是可选的。所以我尝试在不破坏整个文件结构的情况下修改文件。这是代码:

原代码是:

if handle is None:
    self._handle = _dlopen(self._name, mode)
else:
    self._handle = handle

我修改了代码如下:

if handle is None:
    if 'libvlc' not in self._name:
        self._handle = _dlopen(self._name, mode)
    else:  # libvlc.dll will hit
        self._handle = _dlopen(self._name)
else:
    self._handle = handle

这对我有用。希望这个解决方案可以帮助有同样问题的人。


2
投票

我将我的 vlc 播放器从 32 位更改为 64 位并且它有效。只需下载 64 位版本的 vlc 播放器并安装即可。写的

import vlc

会起作用的


1
投票

通过 pip 安装不会安装 vlc 本身,只会安装 libvlc 绑定的 python 包装器。要使用它们,您需要安装有效的 VLC。请从 www.videolan.org 获取 VLC


0
投票

回溯(最近一次调用最后一次): 文件“/var/www/html/py/app.py”,第 7 行,位于 视频=pafy.new(url)
^^^^^^^^^^^^^^ 文件“/usr/local/lib/python3.11/site-packages/pafy/pafy.py”,第 124 行,新建 返回Pafy(url,基本,gdata,大小,回调,ydl_opts = ydl_opts) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ 文件“/usr/local/lib/python3.11/site-packages/pafy/backend_youtube_dl.py”,第 31 行,在 init 中 超级(YtdlPafy,自我)。init(*args,**kwargs) 文件“/usr/local/lib/python3.11/site-packages/pafy/backend_shared.py”,第 62 行,在 init 中 self.videoid = extract_video_id(video_url) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 文件“/usr/local/lib/python3.11/site-packages/pafy/backend_shared.py”,第 51 行,extract_video_id 引发 ValueError(err % url) ValueError:需要 11 个字符的视频 ID 或视频的 URL。得到//1.mp4

© www.soinside.com 2019 - 2024. All rights reserved.