Какова настоящая процедура установки youtube-dl в 20.04?

Мне не удается установить youtube-dl в моей системе 20.04. Вот что я пробовал:

  1. sudo apt-get install youtube-dl

    РЕЗУЛЬТАТ: Команда выполняется нормально, но когда я пытаюсь загрузить что-либо, я получаю ошибки. Я проверил версию:

     $ youtube-dl --version
    2020.03.24
     $ which youtube-dl
     / USR / местные / бен / YouTube-DL
     

    Я полагаю Я получил старую версию youtube-dl , потому что репозиторий Ubuntu устарел?

Итак, поиск решений побудил меня попробовать следующее:

  1. pip3 install --upgrade youtube-dl

    Эта попытка очень обновлена.проголосовал за ответ здесь, на SE. . Но сначала - удалил установку apt с помощью sudo apt-get remove youtube-dl

    Но когда я проверяю версию, я застрял на старой версии!

     $ youtube-dl --version
    2020.03.24
     

    Так что давайте уберем это, прежде чем пытаться что-то еще:

     $ pip3 удалить youtube-dl
    Найдена существующая установка: youtube-dl 2020.11.26
    Удаление youtube-dl-2020.11.26:
      Удалил бы:
      /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
    Продолжить (да / нет)?  у
      Youtube-dl-2020.11.26 успешно удален
     

    Ого !? Я только что удалил текущую версию!

  2. sudo snap install youtube-dl

    Aka «Метод 2» с этого веб-сайта , который выполнялся следующим образом:

     $ sudo snap install youtube-  дл
    youtube-dl 2020.11.17 + gitd65d891 от Joe Borg (joeborg) установлен
     $ youtube-dl --version
    bash: / usr / bin / youtube-dl: нет такого файла или каталога
     $ which youtube-dl
     / USR / местные / бен / YouTube-DL
     

Что оставляет меня безнадежным и сбитым с толку. Я использую youtube-dl уже более года и устанавливаю в системах MacOS и Debian - без проблем. Я знаю, что Ubuntu отличается , но ... это сбивает с толку.

Как это исправить?

4
задан 2 December 2020 в 06:53

2 ответа

Если вы установите пакет youtube-dl из архива Ubuntu 20.04, это не приведет к созданию какого-либо / usr / local / bin / youtube-dl файл. Так что, вероятно, вы ранее установили youtube-dl каким-то другим способом, кроме одного из способов, упомянутых в вашем вопросе, и это может быть причиной путаницы.

Если вы не помните, как что случилось, я бы посоветовал вам просто удалить этот файл:

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

Путь pip3 - хороший способ получить последнюю доступную версию. Однако обратите внимание, что если вы устанавливаете через pip3 как собственный пользователь (т.е. без sudo ), исполняемый файл youtube-dl окажется в $ HOME / .local / bin , и вам может потребоваться выйти и снова войти в систему, чтобы этот каталог был включен в PATH .

7
ответ дан 3 January 2021 в 22:48

Альтернативное решение:

Справочная информация:

На сайте yt-dl на GitHub есть инструкции по установке , которые эффективно загружают копию последней версии youtube-dl в / 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 для этого решения .

Дополнение:

Лично это решение для ручной установки работает лучше для меня , поскольку я не заинтересован в том, чтобы запутаться во всем Pythonic minutae; виртуальные среды и другие артефакты. И хотя вызывает разочарование тот факт, что репозиторий Ubuntu может работать не лучше, чем версия youtube-dl , возраст которой 8 месяцев , эта процедура установки имеет одно преимущество перед apt ] repo:

Ручная установка youtube-dl позволяет обновлять напрямую и немедленно через:
sudo youtube-dl -U .


Из Focal Fossa Примечания к выпуску :

Python3 по умолчанию

В 20.04 LTS в базовую систему входит питон Python 3.8. Python 2.7 был перемещен во вселенную и по умолчанию не включается ни в какие новые установки.

Остальные пакеты в Ubuntu, для которых требуется Python 2.7, были обновлены для использования / usr / bin / python2 в качестве их интерпретатора и / usr / bin / python по умолчанию не присутствует ни при каких новых установках. и т. Д. И т. Д.

3
ответ дан 3 January 2021 в 22:48

Другие вопросы по тегам:

Похожие вопросы: