Was ist das wahre Installationsverfahren für youtube-dl in 20.04?

Nov 28 2020

Ich habe kein Glück, youtube-dlauf meinem 20.04-System installiert zu werden. Folgendes habe ich versucht:

  1. sudo apt-get install youtube-dl

    ERGEBNIS: Der Befehl wird in Ordnung ausgeführt, aber wenn ich versuche, etwas herunterzuladen, werden Fehler angezeigt. Ich habe die Version überprüft:

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

    Ich nehme an, ich habe eine alte Version von, youtube-dlweil Ubuntus Repo veraltet ist.

Die Suche nach Lösungen hat mich dazu veranlasst, Folgendes zu versuchen:

  1. pip3 install --upgrade youtube-dl

    Dieser Versuch ist eine hochkarätige Antwort hier auf SE. . Aber zuerst - entfernte die apt-Installation mitsudo apt-get remove youtube-dl

    Aber wenn ich die Version überprüfe, bleibe ich bei der alten Version!

    $ youtube-dl --version
    2020.03.24
    

    Lassen Sie uns das herausholen, bevor wir etwas anderes ausprobieren:

    $ 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
    

    Whoa!? Ich habe gerade die aktuelle Version deinstalliert!

  2. sudo snap install youtube-dl

    Aka "Methode 2" von dieser Website , die wie folgt ging:

    $ 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
    

Was mich irreparabel verwirrt und verwirrt macht. Ich habe es youtube-dlseit über einem Jahr verwendet und auf MacOS- und Debian-Systemen installiert - ohne Probleme. Ich weiß, dass Ubuntu anders ist , aber ... das ist verwirrend.

Wie behebe ich das?

Antworten

7 GunnarHjalmarsson Nov 29 2020 at 01:43

Wenn Sie das youtube-dlPaket aus dem Ubuntu-Archiv 20.04 installieren , führt dies zu keiner /usr/local/bin/youtube-dlDatei. Wahrscheinlich haben Sie zuvor youtube-dlauf eine andere als die in Ihrer Frage erwähnte Weise installiert , und dies kann die Ursache für die Verwirrung sein.

Wenn Sie sich nicht erinnern, wie das passiert ist, würde ich vorschlagen, dass Sie diese Datei einfach löschen:

sudo rm /usr/local/bin/youtube-dl

Der pip3-Weg ist ein guter Weg, um die neueste verfügbare Version zu erhalten. Bitte beachten Sie jedoch, dass bei einer Installation über pip3 als Ihr eigener Benutzer (dh ohne sudo) die youtube-dlausführbare Datei endet $HOME/.local/binund Sie sich möglicherweise abmelden und erneut anmelden müssen, damit dieses Verzeichnis aufgenommen wird PATH.

3 deWalker Nov 29 2020 at 23:13

Eine alternative Lösung:

Hintergrund:

Es gibt Installationsanweisungen auf der GitHub-Site von yt-dl, die effektiv eine Kopie der neuesten Version von youtube-dlto herunterladen /usr/local/bin- sie sind einfach genug, selbst wenn ich ihnen folgen könnte.

Aber das führt zu einem anderen Problem - möglicherweise einem Ubuntu-Problem, einem Python-Problem oder einem youtube-dlProblem ... Ich weiß nicht, wessen Problem es ist, aber hier ist das Problem. Versuchen Sie nach dem Befolgen der Installationsanweisungen für yt-dl , die Version zu überprüfen:

$ youtube-dl --version
/usr/bin/env: ‘python’: No such file or directory

Soweit ich weiß, bedeutet dies nur, dass das System (Ubuntu) youtube-dlnicht auflösen kann, wo Python installiert ist. Aber ich weiß, dass ich Python3 installiert habe:

$ which python
$ which python3
/usr/bin/python3

Und da ich Python3 nicht installiert habe, scheint dies zu bedeuten, dass Ubuntu 20.04 mit Python3 geliefert wurde, aber Python (2) nicht installiert wurde.

Lösung 1:

$ sudo apt-get install python-is-python3

Lösung prüfen / verifizieren:

$ youtube-dl --version
2020.11.29

Dies wurde also auf meinem System - FWIW - getestet und verifiziert.

Lösung 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

Überprüfen Sie, ob dies funktioniert (nachdem Sie die vorherige Lösung 1 entfernt haben):

$ youtube-dl --version
2020.11.29

Dank an @ mayy9245 für diese Lösung .

Nachtrag:

Persönlich funktioniert diese manuelle Installationslösung am besten für mich, da ich kein Interesse daran habe, mich in alle pythonischen Details zu verwickeln. virtuelle Umgebungen und andere Artefakte. Und obwohl es enttäuschend ist, dass Ubuntus Repo nicht besser kann als eine Version youtube-dl, die 8 Monate alt ist , hat dieses Installationsverfahren einen Vorteil gegenüber dem aptRepo:

Eine manuelle Installation von youtube-dlermöglicht eine direkte und sofortige Aktualisierung über :
sudo youtube-dl -U.


Von der Focal Fossa Release Notes :

Python3 standardmäßig

In 20.04 LTS ist Python 3.8 die im Basissystem enthaltene Python. Python 2.7 wurde in das Universum verschoben und ist in Neuinstallationen standardmäßig nicht enthalten.

Verbleibende Pakete in Ubuntu, für die Python 2.7 erforderlich ist, wurden aktualisiert, um / usr / bin / python2 als Interpreter zu verwenden, und / usr / bin / python ist bei Neuinstallationen standardmäßig nicht vorhanden. usw. usw.