youtube-dl
我在 20.04 系统上安装失败。以下是我尝试过的方法:
sudo apt-get install youtube-dl
结果:命令执行正常,但当我尝试下载任何内容时,却出现错误。我检查了版本:
$ youtube-dl --version 2020.03.24 $ which youtube-dl /usr/local/bin/youtube-dl
我认为我得到的是旧版本,
youtube-dl
因为 Ubuntu 的 repo 已经过期了?
因此,为了寻找解决方案,我尝试了这个:
pip3 install --upgrade youtube-dl
这次尝试是在 SE 上获得高度认可的答案。. 但首先 - 使用以下命令删除 apt-installation
sudo apt-get remove youtube-dl
但是当我检查验证版本时,仍然停留在旧版本!
$ youtube-dl --version 2020.03.24
因此,在尝试其他方法之前,我们先将其移除:
$ pip3 uninstall youtube-dl Found existing installation: youtube-dl 2020.11.26 Uninstalling youtube-dl-2020.11.26: Would remove: /home/walker/.local/etc/bash_completion.d/youtube-dl.bash-completion /home/walker/.local/etc/fish/completions/youtube-dl.fish /home/walker/.local/lib/python3.8/site-packages/youtube_dl-2020.11.26.dist-info/* /home/walker/.local/lib/python3.8/site-packages/youtube_dl/* /home/walker/.local/share/doc/youtube_dl/README.txt /home/walker/.local/share/man/man1/youtube-dl.1 Proceed (y/n)? y Successfully uninstalled youtube-dl-2020.11.26
哇哦!?我刚刚卸载了当前版本!
sudo snap install youtube-dl
又名该网站的“方法 2”,内容如下:
$ sudo snap install youtube-dl youtube-dl 2020.11.17+gitd65d891 from Joe Borg (joeborg) installed $ youtube-dl --version bash: /usr/bin/youtube-dl: No such file or directory $ which youtube-dl /usr/local/bin/youtube-dl
这让我感到困惑和迷茫,无可挽回。我已经使用了youtube-dl
一年多,并在 macOS 和 Debian 系统上安装 - 没有任何问题。我知道 Ubuntu 是不同的,但是...这很令人困惑。
我该如何解决?
答案1
如果您youtube-dl
从 20.04 Ubuntu 存档安装软件包,则不会生成任何文件。因此,您之前可能使用的问题中提到的其他方式/usr/local/bin/youtube-dl
安装过,这可能是造成混淆的原因。youtube-dl
如果您不记得事情是怎么发生的,我建议您直接删除该文件:
sudo rm /usr/local/bin/youtube-dl
pip3 方式是获取最新可用版本的好方法。但请注意,如果您以自己的用户身份通过 pip3 安装(即没有sudo
),youtube-dl
则可执行文件将最终位于 中$HOME/.local/bin
,您可能需要注销并再次登录以使该目录包含在 中PATH
。
答案2
另一种解决方案:
背景:
有安装说明youtube-dl
在 yt-dl 的 GitHub 网站上可以有效地下载最新版本的副本/usr/local/bin
- 它们足够简单,甚至我都可以遵循它们。
但这会导致另一个问题 - 可能是 Ubuntu 的问题,也可能是 Python 的问题,或者youtube-dl
……我不知道这是谁的问题,但这就是问题所在。在按照yt-dl 安装说明,尝试检查版本:
$ youtube-dl --version
/usr/bin/env: ‘python’: No such file or directory
据我了解,这只是意味着系统 (Ubuntu) 无法youtube-dl
解析 Python 的安装位置。但我知道我确实安装了 Python3:
$ which python
$ which python3
/usr/bin/python3
而且由于我没有安装 Python3,这似乎意味着 Ubuntu 20.04 附带安装了 Python3,但没有安装 Python(2)。
解决方案 1:
$ sudo apt-get install python-is-python3
检查/验证解决方案:
$ youtube-dl --version
2020.11.29
所以这已经在我的系统上测试和验证了 - FWIW。
解决方案 2:
$ sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 10
update-alternatives: using /usr/bin/python3 to provide /usr/bin/python (python) in auto mode
验证其是否有效(删除之前的解决方案 1 之后):
$ youtube-dl --version
2020.11.29
附录:
就我个人而言,手动安装解决方案效果最好为我因为我没兴趣卷入 Python 的各种细节;虚拟环境和其他工件。虽然 Ubuntu 的 repo 做得并不比youtube-dl
这个版本好,但令人失望的是8个月大,这个安装过程与 repo 相比有一个优点apt
:
手动安装
youtube-dl
允许通过以下方式直接立即更新:
sudo youtube-dl -U
。
来自局灶性窝发行说明:
默认使用 Python3
在 20.04 LTS 中,基础系统中包含的 Python 是 Python 3.8。Python 2.7 已移至 Universe,默认情况下不包含在任何新安装中。
Ubuntu 中需要 Python 2.7 的其余软件包已更新为使用 /usr/bin/python2 作为其解释器,并且 /usr/bin/python 在任何新安装中默认不存在。等等,等等