6

好吧,所以我正在尝试使用 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 程序中有错误(我认为)如果你能帮助我并让它为我工作,那将是惊人的,非常感谢!

4

4 回答 4

6

你的问题是libvlc.dll不在PATH中。有两种方法可以纠正。

第一(临时):

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

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

第二(永远):

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

其他可能出现的问题

通常,人们下载 32 位 vlc 的版本。如果您安装了 64 位版本的 python,这可能会引起一些麻烦。( Windows Error [193])。要解决这个问题,您只需要重新安装 64 位 vlc 的版本。

于 2017-11-08T15:44:12.360 回答
3

我有类似的问题。这是我的解决方案:首先我检查了文件中的代码__init__.py。打印一些变量,如self._namemode以确保值正确。我查找了函数_dlopenLoadLibrary from _ctypes,发现 mode 参数是可选的。所以我尝试在不破坏整个文件结构的情况下修改文件。这是代码:

原始代码是:

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

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

于 2019-11-14T08:00:02.900 回答
2

我将我的 vlc 播放器从 32 位更改为 64 位,它工作正常。只需下载 64 位版本的 vlc 播放器并安装即可。写

import vlc

它会工作

于 2018-07-11T18:56:28.147 回答
1

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

于 2017-02-26T22:22:32.400 回答