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

如何在PyScript中使用编译后的pyd格式Python文件及对应调用代码在浏览器运行?

如何在PyScript中使用编译后的pyd格式Python文件及对应调用代码在浏览器运行?

嘿,我来帮你解决这个问题~首先得明确一个关键点:你手里的somme.pyd是Windows平台专属的编译Python扩展模块,它依赖Windows本地的系统环境和Python运行时,而PyScript是基于浏览器里的WebAssembly环境(Pyodide)运行的,这俩环境完全不兼容,所以没法直接加载pyd文件哦。

不过别担心,我们有两种简单的替代方案,能达到你想要的在浏览器里运行代码的效果:

方法一:直接嵌入纯Python代码(最省心)

既然你的sm函数只是计算两数之和,逻辑很简单,直接把函数的源码写到PyScript里就行,完全不需要编译后的pyd文件。

你可以创建一个HTML文件,内容如下:

<!DOCTYPE html>
<html>
<head>
    <link rel="stylesheet" href="https://pyscript.net/latest/pyscript.css" />
    <script defer src="https://pyscript.net/latest/pyscript.js"></script>
</head>
<body>
    <py-script>
        # 直接定义原来sm函数的逻辑
        def sm(a, b):
            return a + b

        # 像你原来的main.py那样调用函数
        result = sm(400, 1473)
        print(f"计算结果:{result}")
    </py-script>
</body>
</html>

把这个文件保存后,直接用浏览器打开,就能看到控制台输出计算结果啦。

方法二:用纯Python模块模拟原来的import结构

如果你想保留import somme这种调用方式,可以把函数单独放到一个纯Python文件里,再用PyScript加载这个模块:

  1. 先创建somme.py文件,内容就是你的函数源码:
def sm(a, b):
    return a + b
  1. 再创建一个HTML文件(比如index.html),内容如下:
<!DOCTYPE html>
<html>
<head>
    <link rel="stylesheet" href="https://pyscript.net/latest/pyscript.css" />
    <script defer src="https://pyscript.net/latest/pyscript.js"></script>
</head>
<body>
    <py-env>
        - paths:
            - ./somme.py
    </py-env>
    <py-script>
        # 和你原来的main.py一样的调用方式
        import somme
        result = somme.sm(400, 1473)
        print(f"计算结果:{result}")
    </py-script>
</body>
</html>

把somme.py和index.html放在同一个文件夹里,用浏览器打开index.html就能正常运行啦。

简单来说,PyScript目前只支持纯Python代码或者WebAssembly兼容的编译模块,本地的pyd文件是没法直接用的,用上面两种纯Python的方式就能完美替代你的需求啦。

备注:内容来源于stack exchange,提问作者mlri

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.15 14:24:34