Jaka jest prawdziwa procedura instalacji dla youtube-dl w 20.04?

Nov 28 2020

Nie mam szczęścia z youtube-dlinstalacją w moim systemie 20.04. Oto, czego próbowałem:

  1. sudo apt-get install youtube-dl

    WYNIK: Polecenie wykonuje się OK, ale kiedy próbuję cokolwiek pobrać, pojawiają się błędy. Sprawdziłem wersję:

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

    I zakładać, mam starą wersję youtube-dlbo repo Ubuntu jest out-of-date?

Poszukiwanie rozwiązań skłoniło mnie więc do wypróbowania tego:

  1. pip3 install --upgrade youtube-dl

    Ta próba jest bardzo pozytywną odpowiedzią tutaj w SE. . Ale najpierw - usunąłem instalację apt za pomocąsudo apt-get remove youtube-dl

    Ale kiedy sprawdzam, czy wersja jest weryfikowana, utknąłem na starej wersji!

    $ youtube-dl --version
    2020.03.24
    

    Więc usuńmy to, zanim spróbujemy czegoś innego:

    $ 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 !? Właśnie odinstalowałem aktualną wersję!

  2. sudo snap install youtube-dl

    Aka „Metoda 2” z tej witryny internetowej , która wygląda następująco:

    $ 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
    

Co sprawia, że ​​jestem zdezorientowany i oszołomiony nie do naprawienia. Używam youtube-dlod ponad roku i instaluję na systemach macOS i Debian - bez żadnych problemów. Wiem, że Ubuntu jest inny , ale ... to jest mylące.

Jak to naprawić?

Odpowiedzi

7 GunnarHjalmarsson Nov 29 2020 at 01:43

Jeśli zainstalujesz youtube-dlpakiet z archiwum Ubuntu 20.04, nie spowoduje to powstania żadnego /usr/local/bin/youtube-dlpliku. Więc prawdopodobnie wcześniej zainstalowałeś youtube-dlw inny sposób niż jeden ze sposobów, o których wspomniałeś w swoim pytaniu, i to może być przyczyną zamieszania.

Jeśli nie pamiętasz, jak to się stało, proponuję po prostu usunąć ten plik:

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

Sposób pip3 to dobry sposób na uzyskanie najnowszej dostępnej wersji. Należy jednak pamiętać, że jeśli zainstalujesz za pośrednictwem pip3 jako własny użytkownik (tj. Bez sudo), youtube-dlplik wykonywalny zakończy się $HOME/.local/bini może być konieczne wylogowanie się i ponowne zalogowanie, aby włączyć ten katalog PATH.

3 deWalker Nov 29 2020 at 23:13

Alternatywne rozwiązanie:

Tło:

Są to instrukcje instalacji na miejscu GitHub YT-DL, że skutecznie pobrać kopię najnowszej wersji youtube-dldo /usr/local/bin- są one dość proste nawet mogłem je śledzić.

Ale to prowadzi do innego problemu - być może problem z Ubuntu, problem z Pythonem lub youtube-dlproblem ... Nie wiem, czyj to problem, ale oto problem. Po wykonaniu instrukcji instalacji yt-dl spróbuj sprawdzić wersję:

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

Jak rozumiem, oznacza to po prostu, że system (Ubuntu) i youtube-dlnie może rozwiązać, gdzie jest zainstalowany Python. Ale wiem, że mam zainstalowany Python3:

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

A ponieważ nie zainstalowałem Python3, wydaje się to oznaczać, że Ubuntu 20.04 został dostarczony z zainstalowanym Python3, ale Python (2) nie został zainstalowany.

Rozwiązanie 1:

$ sudo apt-get install python-is-python3

Sprawdź / zweryfikuj rozwiązanie:

$ youtube-dl --version
2020.11.29

Więc zostało to przetestowane i zweryfikowane w moim systemie - FWIW.

Rozwiązanie 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

Sprawdź, czy to działa (po usunięciu poprzedniego rozwiązania 1):

$ youtube-dl --version
2020.11.29

Kredyty dla @ mighty9245 za to rozwiązanie .

Uzupełnienie:

Osobiście to ręczne rozwiązanie instalacyjne działa najlepiej dla mnie, ponieważ nie interesuje mnie uwikłanie się we wszystkie minuty Pythonic; środowiska wirtualne i inne artefakty. I chociaż jest rozczarowujące, że repozytorium Ubuntu nie może być lepsze niż wersja, youtube-dlktóra ma 8 miesięcy , ta procedura instalacji ma jedną przewagę nad aptrepozytorium:

Ręczna instalacja youtube-dlpozwala na aktualizację bezpośrednio i natychmiast poprzez:
sudo youtube-dl -U.


Z informacji o wydaniu Focal Fossa :

Python3 domyślnie

W 20.04 LTS Python zawarty w systemie podstawowym to Python 3.8. Python 2.7 został przeniesiony do uniwersum i nie jest domyślnie uwzględniany w żadnych nowych instalacjach.

Pozostałe pakiety w Ubuntu, które wymagają Pythona 2.7, zostały zaktualizowane, aby używać / usr / bin / python2 jako ich interpretera, a / usr / bin / python nie jest domyślnie obecny w żadnych nowych instalacjach. itd itd