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

Spotipy调用对象方法时无限挂起问题求助

解决Spotipy查询卡住无返回的问题

以下是针对该问题的实用排查和解决方法:

  • 排查网络环境
    网络代理、防火墙或者VPN经常会拦截Spotify API的请求。尝试切换到手机热点,或者关闭代理软件后重新运行代码,确认是否是网络环境导致的问题。

  • 给Spotipy添加超时配置
    默认情况下Spotipy未设置请求超时,会导致请求无限挂起。初始化Spotify对象时添加超时和重试参数:

    import spotipy
    from spotipy.oauth2 import SpotifyClientCredentials
    
    client_credentials_manager = SpotifyClientCredentials(client_id=cid, client_secret=secret)
    sp = spotipy.Spotify(
        client_credentials_manager=client_credentials_manager,
        requests_timeout=10,  # 设置10秒超时,超时后抛出异常
        retries=1
    )
    

    这样既不会无限挂起,也能通过异常信息进一步定位问题。

  • 直接测试API连通性
    绕过Spotipy库,用curl手动调用Spotify API验证:

    1. 先获取访问令牌:
      curl -X POST "https://accounts.spotify.com/api/token" \
           -H "Content-Type: application/x-www-form-urlencoded" \
           -d "grant_type=client_credentials&client_id=你的客户端ID&client_secret=你的客户端密钥"
      
    2. 使用拿到的access_token调用接口:
      curl "https://api.spotify.com/v1/artists/1Xyo4u8uXC1ZmMpatF05PJ/top-tracks?market=US" \
           -H "Authorization: Bearer 你的access_token"
      

    如果这个请求也失败,说明是网络或API权限问题;如果成功,则是Spotipy库的版本兼容性问题。

  • 调整Spotipy版本
    版本不兼容可能导致请求异常。尝试卸载重装指定版本:

    pip uninstall spotipy -y
    pip install spotipy==2.23.0  # 该版本稳定性较高,也可尝试最新版
    
  • 更新SSL证书配置
    Python环境的SSL证书异常会导致HTTPS连接失败,更新certifi库修复:

    pip install --upgrade certifi
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 03:10:15