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

无法在Pyscript中导入同目录简单模块,求解决办法

PyScript导入同目录模块失败的解决方案

针对你使用PyScript 2025.3.1版本导入同目录模块出现ModuleNotFoundError的问题,可按以下步骤解决:

1. 改用当前版本推荐的导入配置

当前PyScript版本已不再推荐使用<py-import>标签,而是通过<py-config>声明需要加载的本地文件,将其添加到Python的搜索路径中:

在index.html中添加<py-config>标签(建议放在<head>内或<py-script>之前):

<py-config>
    files = [
        "./hazAlgo.py"
    ]
</py-config>

之后删除原有的<py-import>标签,直接在<py-script>中导入模块即可。

2. 修正路径错误

你原代码中src="/hazAlgo.py"使用的是根目录绝对路径,若index.html和hazAlgo.py不在网站根目录(比如在子文件夹中),这个路径会指向错误位置。应改为同目录相对路径:

  • 直接写"hazAlgo.py"或"./hazAlgo.py"

3. 修复函数引用错误

你的<py-script>代码里,add_event_listener(btn, "click", hola)中的hola未指定所属模块,会触发NameError,需改为hazAlgo.hola:

add_event_listener(btn, "click", hazAlgo.hola)

修正后的完整index.html代码

<!doctype html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <link rel="stylesheet" href="https://pyscript.net/releases/2025.3.1/core.css" />
        <script type="module" src="https://pyscript.net/releases/2025.3.1/core.js"></script>
        <!-- 添加配置声明 -->
        <py-config>
            files = [
                "./hazAlgo.py"
            ]
        </py-config>
    </head>
    <body>
        
        <button id="button">¡Di Hola!</button>
        <div id="saludo"></div>
        
        <!-- Aquí va el código python -->
        <py-script>
            from js import document
            from pyodide.ffi.wrappers import add_event_listener
            import hazAlgo
    
            hazAlgo.hola()

            btn = document.getElementById("button")
            add_event_listener(btn, "click", hazAlgo.hola)
        </py-script>
    </body>
</html>

额外注意事项

  • 必须通过本地服务器访问文件(不能直接打开本地HTML文件),比如用Python命令python -m http.server启动本地服务
  • 检查hazAlgo.py的文件名拼写是否正确(路径和文件名大小写敏感)

内容的提问来源于stack exchange,提问作者Alfonso Olvera Ventura

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 21:07:35