Youtube-dl: Python, не найденный (18.04)

Я сделал чистую установку 18.04 LTS. Я затем установил youtube-dl, использующий

sudo wget https://yt-dl.org/downloads/latest/youtube-dl -O /usr/local/bin/youtube-dl
sudo chmod a+rx /usr/local/bin/youtube-dl

Когда я пытаюсь использовать youtube-dl, я получаю следующее сообщение об ошибке:

rudolffischer@HP8770w:~$ youtube-dl -U
/usr/bin/env: ‘python’: No such file or directory

Python 3, кажется, установлен

rudolffischer@HP8770w:~$ python3
Python 3.6.5 (default, Apr  1 2018, 05:46:30) 
[GCC 7.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.

Почему?

25
задан 18 May 2018 в 17:33

8 ответов

youtube-dl jista 'jiġi installat mir-repożitorji default fil-verżjonijiet kollha ta' Ubuntu li bħalissa huma appoġġjati b'dan il-kmand:

sudo apt install youtube-dl  

youtube-dl li huwa installat b'dan il-kmand għandu jaħdem tajjeb mingħajr il-bżonn li jiġi aġġornat, ħlief bl-aġġornamenti tas-software default tas-soltu.

Il-mekkaniżmu ta 'awto-aġġornament ta' youtube-dl huwa diżattivat fuq sistemi operattivi bbażati fuq Debian. Tista 'taġġorna għall-aħħar verżjoni ta' youtube-dl jew billi tinstalla l-pakkett snap youtube-dl jew bil-pip.

sudo snap install youtube-dl # start with snap run youtube-dl  

jew

sudo apt remove youtube-dl
sudo apt install python3-pip  
pip3 install --user youtube-dl
7
ответ дан 23 November 2019 в 08:58

Вы должны быть в состоянии запустить youtube-dl со своей версией python, сделав это:

/your/path/python3 /usr/local/bin/youtube-dl

Узнайте путь к вашему python3, сделав какой python3

17
ответ дан 23 November 2019 в 08:58

, это решение для ошибки youtube-dl работает для Ubuntu 18.04.02 LTS.
(Дата, когда я написал это, апрель 2019 г., проверьте версию).

Таким образом, при использовании youtube-dl я решил следующее сообщение об ошибке:

/ usr / bin / env: 'python': нет такого файла или каталога

  1. cd / usr / bin
  2. ls python

Это должно показать вам, какая у вас версия python. Если ваша версия python 3 или выше, просто перейдите к шагу 4. Если ваша версия ниже python 3, перейдите к шагу 3.

  1. sudo apt install python3
  2. /usr/bin/python3.6 / usr / local / bin / youtube-dl (гиперссылка на ваше видео на YouTube).

(в моем случае у меня был python 3.6, расположенный в / use / bin / (независимо от версии python). Очевидно, вам нужно настроить любую версию python, которая у вас есть).

это должно сработать для этого тупого / usr / bin / env Ошибка python на youtube-dl .

-3
ответ дан 23 November 2019 в 08:58

В Ubuntu 18.04.2 LTS с youtube-dl версия 2019.06.08, после создания символической ссылки с помощью следующей команды:

$ sudo ln -s /usr/bin/python3 /usr/local/bin/python

youtube- dl работал как обычно, ошибка «/ usr / bin / env: 'python': нет такого файла или каталога» исчезла.

14
ответ дан 23 November 2019 в 08:58

Заголовок сценария youtube-dl имеет #! / Usr / bin / env python , что означает, что он использует команду «python».

Per https://www.python.org/dev/peps/pep-0394/ В дистрибутивах можно выбрать включение команды python, связанной с python2 или python3, не включать команду вообще или разрешить пользователю / администратору настраивать ее.

В установках на основе debian есть 3 основных пакета python:

  • python ( sudo apt install python )
  • python2 ( sudo apt install python2 )
  • python3 ( sudo apt install python3 )

«питон» пакет устанавливает python версии 2 и включает команду "python" (символическая ссылка / usr / bin / python -> /usr/bin/python2).

Пакеты "python2" и "python3" не предоставляют команду "python" . Это означает, что вызов «python» из интерфейса командной строки или скрипта приведет к ошибке «команда не найдена».

Если вы их используете, вы должны либо:

  • вызвать скрипт, используя ту версию, которая вам нравится. ( python2 / usr / local / bin / youtube-dl или python3 / usr / local / bin / youtube-dl ) [Лично у меня псевдоним youtube-dl = 'python3 / usr / local / bin / youtube-dl' в моем .bash_aliases]
  • отредактируйте сценарий youtube-dl, чтобы использовать python2 или python3 ( sudo sed -i '1s / python / python2 / '/ usr / local / bin / youtube-dl ) или ( sudo sed -i' 1s / python / python3 / '/ usr / local / bin / youtube-dl )

В выше, я предпочитаю использовать параметр псевдонима, поскольку вы оставляете файл в покое и не должны редактировать его каждый раз при обновлении файла

Это также можно исправить, создав символическую ссылку для / usr / bin / python, но это не рекомендуется.

1
ответ дан 23 November 2019 в 08:58
  • Возможно, вы загрузили youtube-dl в другое место. Используйте который , чтобы найти правильный адрес:
$ which youtube-dl
/home/linuxbrew/.linuxbrew/bin/youtube-dl
  • Вы можете использовать python3 , чтобы обойти эту ошибку
$ python3 $(which youtube-dl) https://www.youtube.com/watch?v=0IE-CXNs6Sw
[youtube] 0IE-CXNs6Sw: Downloading webpage
...
-1
ответ дан 5 January 2021 в 22:11

Я хотел бы сообщить, что мод скрипта с использованием sed (ниже ) исправлена ​​ошибка "/ usr / bin / env: 'python': нет такого файла или каталога" в моей текущей установке snap youtube-dl.

sudo sed -i '1s/python/python3/' /usr/local/bin/youtube-dl

$ snap list youtube-dl
Name        Version                Rev   Tracking  Publisher  Notes
youtube-dl  2020.02.16+gitbee6451  2682  edge      joeborg    -

$ lsb_release -d ; uname -rp ; gnome-shell --version ; echo $XDG_SESSION_TYPE
Description:    Ubuntu 19.10
5.3.0-40-generic x86_64
GNOME Shell 3.34.1
wayland

Я не мог определить, кто внес это исправление, но ОГРОМНОЕ СПАСИБО!

0
ответ дан 5 January 2021 в 22:11

Вам просто нужно:

python3 youtube-dl {url}
0
ответ дан 28 July 2021 в 13:15

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

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