Python AttributeError:部分初始化的模块';youtube#u dl';没有属性';YoutubeDL';(很可能是由于循环进口)

Python AttributeError:部分初始化的模块';youtube#u dl';没有属性';YoutubeDL';(很可能是由于循环进口),python,youtube-dl,Python,Youtube Dl,每次我运行代码时,它总是显示一个错误,上面写着: 我的代码: 好吧,你可能已经看到了其中的一些,因为我复制了这些代码中的大部分。我有python3.9.2。我缺少什么吗?我试图寻找解决方案,但没有找到任何链接来回答我的问题 我还想下载的文件作为mp4…有什么想法,我可以怎么做呢?因为在代码中它只指定了文件的mp3版本。你发布的链接说不要给你的文件命名youtube\u dl.py我把我的文件名改为ytd.py,它显示了TypeError:“bool”对象不合适这回答了你的问题吗?它确实删除了属性

每次我运行代码时,它总是显示一个错误,上面写着: 我的代码:

好吧,你可能已经看到了其中的一些,因为我复制了这些代码中的大部分。我有
python3.9.2
。我缺少什么吗?我试图寻找解决方案,但没有找到任何链接来回答我的问题


我还想下载的文件作为mp4…有什么想法,我可以怎么做呢?因为在代码中它只指定了文件的mp3版本。

你发布的链接说不要给你的文件命名youtube\u dl.py我把我的文件名改为ytd.py,它显示了
TypeError:“bool”对象不合适
这回答了你的问题吗?它确实删除了属性错误,但它向我显示了一个新错误:
TypeError:'bool'对象不可编辑
from __future__ import unicode_literals
import youtube_dl


class MyLogger(object):
    def debug(self, msg):
        pass

    def warning(self, msg):
        pass

    def error(self, msg):
        print(msg)


def my_hook(d):
    if d['status'] == 'finished':
        print('Done downloading, now converting ...')


ydl_opts = {
    'format': 'bestaudio/best',
    'postprocessors': [{
        'key': 'FFmpegExtractAudio',
        'preferredcodec': 'mp3',
        'preferredquality': '192',
    }],
    'logger': MyLogger(),
    'progress_hooks': [my_hook],
    'quiet': True,
    'writedescription': True,
    'writethumbnail': True,
    'progress_hooks': True,
    'prefer_ffmpeg': True,
    'ffmpeg_location': 'C:\FFMPEG',
    'keepvideo': True,
    'outtmpl': 'C:/Users/semif/Downloaders/%(uploader)s/%(title)s.%(ext)s'
}
with youtube_dl.YoutubeDL(ydl_opts) as Yami:
    Yami.download([input('url: ')])