20.04 中 youtube-dl 的真正安装过程是什么?

20.04 中 youtube-dl 的真正安装过程是什么?

youtube-dl我在 20.04 系统上安装失败。以下是我尝试过的方法:

  1. sudo apt-get install youtube-dl

    结果:命令执行正常,但当我尝试下载任何内容时,却出现错误。我检查了版本:

    $ youtube-dl --version
    2020.03.24
    $ which youtube-dl
    /usr/local/bin/youtube-dl
    

    认为我得到的是旧版本,youtube-dl因为 Ubuntu 的 repo 已经过期了?

因此,为了寻找解决方案,我尝试了这个:

  1. pip3 install --upgrade youtube-dl

    这次尝试是在 SE 上获得高度认可的答案。. 但首先 - 使用以下命令删除 apt-installationsudo 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
    

    哇哦!?我刚刚卸载了当前版本!

  2. 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

致谢@mighty9245 提供此解决方案

附录:

就我个人而言,手动安装解决方案效果最好为我因为我没兴趣卷入 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 在任何新安装中默认不存在。等等,等等

相关内容