求助:pytube报错NameError: name 'YouTube' is not defined如何解决
解决方案
核心问题
你遇到的NameError是因为没有正确导入YouTube类——YouTube并非全局名称,它属于pytube模块的内部类,必须通过模块引用或显式导入才能使用。
修正代码的两种方式
方式1:使用模块限定名调用
import pytube i = "https://www.youtube.com/watch?v=X" yt = pytube.YouTube(i)
方式2:显式导入YouTube类
from pytube import YouTube i = "https://www.youtube.com/watch?v=X" yt = YouTube(i)
额外排查步骤
如果修正代码后仍有问题,建议彻底清理并重新安装官方维护的pytube版本(pytube3是旧分支,已停止更新):
- 彻底卸载所有相关包:
pip uninstall -y pytube pytube3
- 安装最新版官方
pytube:
pip install --upgrade pytube
- 检查Python环境一致性:确保你运行代码的Python解释器,和执行
pip命令的解释器是同一个(比如避免虚拟环境未激活导致的包安装位置错误)。
内容的提问来源于stack exchange,提问作者azoundria
相关产品推荐
相关产品推荐

