Для начала на всякий случай сообщу, что я пользуюсь Ubuntu MATE.
Есть програмка на питоне 3.7.5 с использованием tkinter и pytube, которая работала. Уточнение: проргамма должна по ссылке на YouTube скачивать видео в определенную папку. Так как там всего 30 строк кода git не использовал и откатится не могу. Код:
from tkinter import *
from tkinter import messagebox
import os
import pytube
folder = False
app = Tk()
app.title("Download video from YouTube")
app.geometry("500x310")
app["bg"] = "#FFFFFF"
def download():
link = txt.get()
video = pytube.YouTube(link)
stream = video.streams.first()
folders = os.listdir()
for folder in folders:
if folder == "Videos from YouTube":
needFolder = True
if needFolder == False:
os.mkdir("Videos from YouTube")
stream.download("Videos from YouTube")
messagebox.showinfo("All was done", 'Video was successefuly downloaded in "Videos from YouTube"')
lbl = Label(app, text="Video`s link", font=("Dyuthi", 15))
lbl["bg"] = "#FFFFFF"
lbl.pack()
txt = Entry(app, width=15)
txt["bg"] = "#FFFFFF"
txt.pack()
btn = Button(app, text="Download", bg="#FFFFFF", fg="#000000", command=download)
btn.pack()
app.mainloop()
Ошибка возникает, после нажатия кнопки "Download". Ошибка:
Exception in Tkinter callback
Traceback (most recent call last):
File "/usr/lib/python3.7/tkinter/__init__.py", line 1705, in __call__
return self.func(*args)
File "vd.py", line 12, in download
video = pytube.YouTube(link)
File "/home/air/.local/lib/python3.7/site-packages/pytube/__main__.py", line 88, in __init__
self.prefetch_init()
File "/home/air/.local/lib/python3.7/site-packages/pytube/__main__.py", line 97, in prefetch_init
self.init()
File "/home/air/.local/lib/python3.7/site-packages/pytube/__main__.py", line 143, in init
mixins.apply_descrambler(self.player_config_args, fmt)
File "/home/air/.local/lib/python3.7/site-packages/pytube/mixins.py", line 96, in apply_descrambler
for i in stream_data[key].split(',')
KeyError: 'url_encoded_fmt_stream_map'
Примечание: прошу трушных програмистов не бомбить, я всего лишь 12 летний пацан, который немного понимает во front end и все.