You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python3.6+Django项目:PythonAnywhere中pytube无YouTube属性求助

解决pytube的AttributeError: module 'pytube' has no attribute 'YouTube'问题

这个问题我碰到过好多次,核心原因确实是包冲突或者版本不匹配,加上PythonAnywhere的多Python环境容易搞混,给你一步步解决:

第一步:彻底清理冲突的pytube包

首先,在PythonAnywhere的控制台里,用对应Python3.6的pip工具卸载所有可能重名的包——因为曾经有pytube3、pytube-ext这类分叉包,很容易和官方pytube冲突:

pip3.6 uninstall -y pytube pytube3 pytube-ext

这里用pip3.6是关键,因为PythonAnywhere里pip默认对应Python2,pip3对应默认Python3,但你的项目用的是3.6,必须指定pip3.6才能把包卸载到正确的环境里。

第二步:安装适配你代码的稳定版本

你的代码用的是pytube.YouTube这种写法,这对应pytube12.1.0版本(这个版本是API未变更前的稳定版,后续版本重构了导入方式)。安装命令:

pip3.6 install pytube==12.1.0

别用GitHub最新版,最新版的pytube已经把YouTube类改成了需要单独导入(from pytube import YouTube),直接装最新版会继续报错。

第三步:验证安装是否正确

在控制台运行Python3.6验证:

python3.6

然后输入以下代码:

import pytube
print(pytube.__version__)
print(hasattr(pytube, 'YouTube'))

如果输出12.1.0和True,说明安装成功了,再运行你的项目代码就不会报错了。

关于pip vs pip3的补充

在PythonAnywhere环境里:

  • pip → 对应Python2.x
  • pip3 → 对应服务器默认的Python3.x(可能不是3.6)
  • pip3.6 → 精准对应Python3.6环境

因为你的项目用的是Python3.6,所有包操作都要用pip3.6,才能确保包安装到你的项目对应的Python环境中,不会出现装了但项目找不到的情况。

内容的提问来源于stack exchange,提问作者surftijmen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.11 07:28:07