【问题标题】:Kivy android application with pytube doesn't function带有pytube的Kivy android应用程序不起作用
【发布时间】:2021-01-30 22:46:56
【问题描述】:

我正在构建一个 kivy android 应用程序,但是当我尝试在 android 上执行它时它停止工作,我得到了这个:

urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1108)>

这是main.py

from kivymd.app import MDApp
from kivy.lang import Builder

class YoutubeDownloaderApp(MDApp):

    def build(self):

        self.title = "Youtube Downloader"
        self.theme_cls.primary_palette = "Red"
        self.theme_cls.primary_hue = "400"
        self.theme_cls.theme_style = "Dark"
        return Builder.load_file("youtubedownloader.kv")

    def download_video(self, query):

        self.root.ids["mdlab1"].text = "Sto scaricando il video..."
        yt = YouTube(query)
        title = yt.title
        ys = yt.streams.get_highest_resolution()
        lnomefile = str.lower(title)
        nomefile = lnomefile.replace(" ", "")
        self.root.ids["mdlab1"].text = "Sto scaricando il video..."
        ys.download(filename=nomefile)
        self.root.ids["mdlab1"].text = "Video scaricato!"

    def convert_button(self):

        self.root.ids["mdlab1"].text = "Sto scaricando il video..."
        query = self.root.ids["mdtext1"].text
        self.download_video(query)


YoutubeDownloaderApp().run()

我不知道是什么问题,这是我第一次尝试与kivy合作。

【问题讨论】:

    标签: python android kivy kivymd pytube


    【解决方案1】:

    你应该在 main.py 中添加这个

    import certifi
    import os
    # Here's all the magic !
    os.environ['SSL_CERT_FILE'] = certifi.where()
    

    【讨论】:

    • 你应该在 main.py 中添加这个 import certifi import os # 这就是所有的魔法! os.environ['SSL_CERT_FILE'] = certifi.where()
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-09-19
    • 1970-01-01
    • 2012-11-18
    • 1970-01-01
    • 1970-01-01
    • 2015-12-09
    相关资源
    最近更新 更多