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

PyScript为何与yfinance库不兼容?页面加载异常求助

解决PyScript加载yfinance时一直卡在加载状态的问题

核心原因

PyScript运行在浏览器内置的Pyodide环境里,和你本地全局pip安装的Python环境完全独立——本地装的yfinance对PyScript毫无作用,必须通过<py-env>正确声明依赖,同时还要注意yfinance的版本兼容性和依赖链问题。

分步排查与解决

  • 修正<py-env>的格式与版本
    确保用标准YAML格式声明,并且指定Pyodide兼容的yfinance版本(高版本可能依赖系统级库,Pyodide不支持),示例:

    <py-env>
      - yfinance==0.2.31
    </py-env>
    
  • 手动补充依赖库
    yfinance依赖pandas、requests等库,Pyodide有时无法自动拉取全部依赖,手动添加后能避免加载卡住:

    <py-env>
      - yfinance==0.2.31
      - pandas==2.1.4
      - requests==2.31.0
    </py-env>
    
  • 打开浏览器调试看具体报错
    按F12打开开发者工具,切换到Console标签,查看PyScript加载时的错误信息——大概率是依赖安装失败、网络无法访问PyPI,或者某个依赖库不兼容Pyodide。

  • 用最简代码测试
    先排除业务代码干扰,写个极简的测试页面验证:

    <html>
      <head>
        <link rel="stylesheet" href="https://pyscript.net/latest/pyscript.css" />
        <script defer src="https://pyscript.net/latest/pyscript.js"></script>
        <py-env>
          - yfinance==0.2.31
        </py-env>
      </head>
      <body>
        <py-script>
          import yfinance as yf
          print("yfinance加载成功")
          # 简单测试接口
          ticker = yf.Ticker("AAPL")
          print(ticker.info['shortName'])
        </py-script>
      </body>
    </html>
    
  • 放弃<py-import>
    <py-import>只适合轻量内置模块或PyScript专属插件,像yfinance这种有复杂依赖链的第三方库,老老实实走<py-env>+<py-script>导入的流程。

常见坑点提醒

  • 别把本地Python环境和Pyodide混为一谈:PyScript完全独立,本地装的任何库都不会被它调用。
  • 优先选0.2.x系列的yfinance:高版本依赖的cryptography等库,Pyodide支持性很差。
  • 网络问题:如果访问PyPI缓慢,可在<py-env>里切换国内镜像:
    <py-env>
      - pip:
        - index-url: https://pypi.tuna.tsinghua.edu.cn/simple
      - yfinance==0.2.31
    </py-env>
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 08:12:33