Я сделал чистую установку 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.
Почему?
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
Вы должны быть в состоянии запустить youtube-dl со своей версией python, сделав это:
/your/path/python3 /usr/local/bin/youtube-dl
Узнайте путь к вашему python3, сделав какой python3
, это решение для ошибки youtube-dl работает для Ubuntu 18.04.02 LTS.
(Дата, когда я написал это, апрель 2019 г., проверьте версию).
Таким образом, при использовании youtube-dl я решил следующее сообщение об ошибке:
/ usr / bin / env: 'python': нет такого файла или каталога
cd / usr / bin
ls python
Это должно показать вам, какая у вас версия python. Если ваша версия python 3 или выше, просто перейдите к шагу 4. Если ваша версия ниже python 3, перейдите к шагу 3.
sudo apt install python3
/usr/bin/python3.6
/ usr / local / bin / youtube-dl
(гиперссылка на ваше видео на YouTube). (в моем случае у меня был python 3.6, расположенный в / use / bin / (независимо от версии python). Очевидно, вам нужно настроить любую версию python, которая у вас есть).
это должно сработать для этого тупого / usr / bin / env Ошибка python на youtube-dl
.
В 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': нет такого файла или каталога»
исчезла.
Заголовок сценария youtube-dl имеет #! / Usr / bin / env python
, что означает, что он использует команду «python».
Per https://www.python.org/dev/peps/pep-0394/ В дистрибутивах можно выбрать включение команды python, связанной с python2 или python3, не включать команду вообще или разрешить пользователю / администратору настраивать ее.
В установках на основе debian есть 3 основных пакета python:
sudo apt install python
) sudo apt install python2
) 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] 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, но это не рекомендуется.
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
...
Я хотел бы сообщить, что мод скрипта с использованием 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
Я не мог определить, кто внес это исправление, но ОГРОМНОЕ СПАСИБО!