VLC 模块出现问题
Trouble with VLC Module
我正在尝试使用 python 为一个小项目制作纯音频播放器。我使用的脚本如下:
#!/usr/bin/env python
import re
import sys
import pafy
import vlc
url = "https://www.youtube.com/watch?v=G0OqIkgZqlA"
video = pafy.new(url)
best = video.getbestaudio()
playurl = best.url
player = vlc.MediaPlayer(playurl)
player.play()
while True: pass
现在,这个脚本在我的工作机器 运行ning manjaro 和以下 python 版本上工作得很好:
Python 3.7.2 (default, Jan 10 2019, 23:51:51)
本机我打算运行这个脚本是raspberry pi零W运行宁raspbian拉伸我设置为运行这个python版本:
Python 3.5.3 (default, Sep 27 2018, 17:25:39)
当我在 raspberry pi 上 运行 这个脚本时,我什么也没得到,当我停止它时,我收到以下消息:
Traceback (most recent call last):
File "/usr/local/lib/python3.5/dist-packages/youtube_dl/extractor/__init__.py", line 4, in <module>
from .lazy_extractors import *
ImportError: No module named 'youtube_dl.extractor.lazy_extractors'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "box.py", line 4, in <module>
import pafy
File "/usr/local/lib/python3.5/dist-packages/pafy/__init__.py", line 7, in <module>
from .pafy import new
File "/usr/local/lib/python3.5/dist-packages/pafy/pafy.py", line 48, in <module>
import youtube_dl
File "/usr/local/lib/python3.5/dist-packages/youtube_dl/__init__.py", line 43, in <module>
from .extractor import gen_extractors, list_extractors
File "/usr/local/lib/python3.5/dist-packages/youtube_dl/extractor/__init__.py", line 9, in <module>
from .extractors import *
File "/usr/local/lib/python3.5/dist-packages/youtube_dl/extractor/extractors.py", line 732, in <module>
from .newgrounds import (
File "<frozen importlib._bootstrap>", line 969, in _find_and_load
File "<frozen importlib._bootstrap>", line 954, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 896, in _find_spec
File "<frozen importlib._bootstrap_external>", line 1147, in find_spec
File "<frozen importlib._bootstrap_external>", line 1121, in _get_spec
File "<frozen importlib._bootstrap_external>", line 1229, in find_spec
File "<frozen importlib._bootstrap_external>", line 82, in _path_stat
KeyboardInterrupt
运行一条一条的命令,我想我发现了vlc module
的问题。当脚本到达以下命令时:
player=vlc.MediaPlayer(playurl)
我得到:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: module 'vlc' has no attribute 'MediaPlayer'
作为参考,我使用 pip3 安装了 python-vlc、pafy 和 youtube_dl 模块。
这是我第一次使用 Python。通过阅读此处和其他网站上的几篇文章,我走到了这一步。这完全让我感到困惑,我不知道该怎么做才能让它发挥作用。
完全有可能是raspbian上的python安装有问题(我用的是全新安装,昨晚才重装!)。我唯一添加到全新 raspbian 安装的是更新系统,安装 git 和其他一些程序。
有人可以帮我吗?
问题似乎与两个版本的 vlc 包有关(32 位与 64 位)。也有两种安装方式:python-vlc vs vlc。请检查您的系统版本并为其安装正确的软件包版本。您可能仍然会遇到我丢失一些 DLL 时遇到的相同问题。
希望以下链接对您有所帮助:
Python vlc install problems
pip install vlc
没有 MediaPlayer class
pip install python-vlc
有 MediaPlayer class 但给出 DLL 库错误
为简单起见,将 vlc.py
程序放在与您的程序相同的目录中。
那么这是让 vlc
玩点东西的最简单形式
url = "file:///home/rolf/GWPE.mp4"
import vlc
playing = set([1,2,3,4])
instance=vlc.Instance()
player=instance.media_player_new()
player.set_mrl(url)
player.play()
while True:
state = player.get_state()
if state not in playing:
break
不确定 pafy
部分是关于什么的,但上面将播放本地文件,我怀疑 pafy 传递给它的任何内容。
我正在尝试使用 python 为一个小项目制作纯音频播放器。我使用的脚本如下:
#!/usr/bin/env python
import re
import sys
import pafy
import vlc
url = "https://www.youtube.com/watch?v=G0OqIkgZqlA"
video = pafy.new(url)
best = video.getbestaudio()
playurl = best.url
player = vlc.MediaPlayer(playurl)
player.play()
while True: pass
现在,这个脚本在我的工作机器 运行ning manjaro 和以下 python 版本上工作得很好:
Python 3.7.2 (default, Jan 10 2019, 23:51:51)
本机我打算运行这个脚本是raspberry pi零W运行宁raspbian拉伸我设置为运行这个python版本:
Python 3.5.3 (default, Sep 27 2018, 17:25:39)
当我在 raspberry pi 上 运行 这个脚本时,我什么也没得到,当我停止它时,我收到以下消息:
Traceback (most recent call last):
File "/usr/local/lib/python3.5/dist-packages/youtube_dl/extractor/__init__.py", line 4, in <module>
from .lazy_extractors import *
ImportError: No module named 'youtube_dl.extractor.lazy_extractors'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "box.py", line 4, in <module>
import pafy
File "/usr/local/lib/python3.5/dist-packages/pafy/__init__.py", line 7, in <module>
from .pafy import new
File "/usr/local/lib/python3.5/dist-packages/pafy/pafy.py", line 48, in <module>
import youtube_dl
File "/usr/local/lib/python3.5/dist-packages/youtube_dl/__init__.py", line 43, in <module>
from .extractor import gen_extractors, list_extractors
File "/usr/local/lib/python3.5/dist-packages/youtube_dl/extractor/__init__.py", line 9, in <module>
from .extractors import *
File "/usr/local/lib/python3.5/dist-packages/youtube_dl/extractor/extractors.py", line 732, in <module>
from .newgrounds import (
File "<frozen importlib._bootstrap>", line 969, in _find_and_load
File "<frozen importlib._bootstrap>", line 954, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 896, in _find_spec
File "<frozen importlib._bootstrap_external>", line 1147, in find_spec
File "<frozen importlib._bootstrap_external>", line 1121, in _get_spec
File "<frozen importlib._bootstrap_external>", line 1229, in find_spec
File "<frozen importlib._bootstrap_external>", line 82, in _path_stat
KeyboardInterrupt
运行一条一条的命令,我想我发现了vlc module
的问题。当脚本到达以下命令时:
player=vlc.MediaPlayer(playurl)
我得到:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: module 'vlc' has no attribute 'MediaPlayer'
作为参考,我使用 pip3 安装了 python-vlc、pafy 和 youtube_dl 模块。
这是我第一次使用 Python。通过阅读此处和其他网站上的几篇文章,我走到了这一步。这完全让我感到困惑,我不知道该怎么做才能让它发挥作用。
完全有可能是raspbian上的python安装有问题(我用的是全新安装,昨晚才重装!)。我唯一添加到全新 raspbian 安装的是更新系统,安装 git 和其他一些程序。
有人可以帮我吗?
问题似乎与两个版本的 vlc 包有关(32 位与 64 位)。也有两种安装方式:python-vlc vs vlc。请检查您的系统版本并为其安装正确的软件包版本。您可能仍然会遇到我丢失一些 DLL 时遇到的相同问题。
希望以下链接对您有所帮助:
Python vlc install problems
pip install vlc
没有 MediaPlayer classpip install python-vlc
有 MediaPlayer class 但给出 DLL 库错误
为简单起见,将 vlc.py
程序放在与您的程序相同的目录中。
那么这是让 vlc
玩点东西的最简单形式
url = "file:///home/rolf/GWPE.mp4"
import vlc
playing = set([1,2,3,4])
instance=vlc.Instance()
player=instance.media_player_new()
player.set_mrl(url)
player.play()
while True:
state = player.get_state()
if state not in playing:
break
不确定 pafy
部分是关于什么的,但上面将播放本地文件,我怀疑 pafy 传递给它的任何内容。