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

使用不同谷歌账号部署PythonAnywhere应用遇errno 98错误求助

解决PythonAnywhere部署Google Drive脚本时的errno 98 address already in use错误

错误原因

你的脚本使用flow.run_local_server()完成Google账号授权,这个方法是为本地桌面环境设计的——它会在本地启动小型HTTP服务器接收授权回调。但在PythonAnywhere这类远程无桌面服务器平台上,要么该端口已被其他进程占用,要么平台限制了本地服务器的启动权限,因此触发errno 98 address already in use错误。

解决步骤

1. 替换授权方式

将脚本中的本地服务器授权替换为控制台授权方式,修改授权相关代码片段:

原代码片段:

else:
    flow = InstalledAppFlow.from_client_secrets_file(CLIENT_SECRET_FILE, SCOPES)
    cred = flow.run_local_server()

修改为:

else:
    flow = InstalledAppFlow.from_client_secrets_file(CLIENT_SECRET_FILE, SCOPES)
    # 改用控制台授权,适配无桌面的远程服务器环境
    cred = flow.run_console()

2. 完成授权流程

部署修改后的脚本到PythonAnywhere并运行时,会在控制台输出授权链接:

  • 复制链接到本地浏览器打开,用目标谷歌账号完成授权
  • 授权成功后页面会显示授权码,将其复制粘贴回PythonAnywhere控制台,按回车确认
  • 脚本会自动生成并保存token文件,后续运行直接使用该token,无需重复授权

3. 环境依赖检查

确保PythonAnywhere环境已安装所需依赖包,执行以下命令安装:

pip install --user google-api-python-client google-auth-httplib2 google-auth-oauthlib

4. 路径验证

确认token文件的存储路径在PythonAnywhere中可访问,脚本中token_dir的路径需与PythonAnywhere工作目录对应,避免因路径问题导致token文件无法读写。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 09:01:35