Установка модуля на пайтон

https://pypi.org/project/youtube_dl/

pip install youtube_dl --root-user-action=ignore

Установил модуль, но при выполнении кода

from pytube import YouTube

yt = YouTube('https://www.youtube.com/watch?v=xXk9QgqdbiE') #ссылка на видео.
print(yt.streams.filter(file_extension='mp4')) 


Traceback (most recent call last):
  File "/var/www/z/data/www/dw.py", line 1, in <module>
    from pytube import YouTube
ModuleNotFoundError: No module named 'pytube'

Что необходимо выполнить, чтобы заработал установленный модуль?

Пробовал и так и так...

python /dw.py
python3.13 /dw.py

Ответы (1 шт):

Автор решения: Fox Fox

Ошибка в условии: pip install youtube_dl --root-user-action=ignore

Но при этом: from pytube import YouTube

Предлагаю использовать более современный и популярный модуль yt_dlp:

Установите современный Питон, сегодня это версия 3.12.6.

Обновите установщик: python.exe -m pip install --upgrade pip

Установите: pip install -U --compile yt_dlp

Скачайте в сети ffmpeg, извлеките из архива ffmpeg.exe.

Текст готового консольного скрипта для загрузки видео из YouTube (сохраните, например, как youtube.py в каталоге, поместите туда же ffmpeg.exe:

def youtube_download(v_url = "", v_quality = "", v_ffmpeg_folder = "", v_folder = "", v_quiet = False, v_noprogress = False):

 ok = True

 v_options = {
  "format": f"bestvideo[height<={v_quality}]+bestaudio/best",
  "ffmpeg_location": os.path.join(v_folder, "ffmpeg.exe"),
  "quiet": v_quiet,
  "noprogress": v_noprogress,
  "outtmpl": os.path.join(v_folder, "%(title)s.%(ext)s")
 }

 if ok and not v_url: print("Не указан веб-адрес видео!"); ok = False
 if ok and not v_quality: print("Не указано качество видео!"); ok = False
 if ok and not v_ffmpeg_folder: print("Не указан каталог, в котором находится ffmpeg.exe!"); ok = False
 if ok and not v_folder: print("Не указан каталог для сохранения видео!"); ok = False

 if ok:
  try: yt_dlp.YoutubeDL(v_options).download([v_url])
  except Exception as e: print(f"Ошибка выполнения загрузки видео! Подробнее:\n{e}"); ok = False

 return ok

#--Пример использования:
print("-" * 50 + "\nЗагрузка видео из YouTube:\n" + "-" * 50)

ok = True

import os
try: import yt_dlp
except Exception as e: print(f"Ошибка импорта модуля! Подробнее:\n{e}"); ok = False

if ok:
 v_url = "https://youtu.be/linlz7-Pnvw"
 v_quality = "1080" # 1080 - 1080p, 2160 - 4k, 4320 - 8k
 v_ffmpeg_folder = "." # каталог, в котором находится ffmpeg.exe
 v_folder = "." # каталог для сохранения видео
 v_quiet = False # отключение вывода в консоль
 v_noprogress = False  # отключение прогресс-бара

 ok = youtube_download(v_url, v_quality, v_ffmpeg_folder, v_folder, v_quiet, v_noprogress)

print("\nНажмите любую клавишу для продолжения...")
os.system("pause > nul" if os.name == "nt" else "read > /dev/null")
→ Ссылка