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

PyScript导入本地模块遇404错误,求解决方案

在PyScript中导入本地模块失败的解决方法

问题场景

我尝试在PyScript中导入本地模块BookOperations.py里的get_books_count函数,但浏览器持续报错:

PyScript: Loading from file ../app/db_operations/BookOperations.py failed with error 404 (File not Found). Are your filename and path are correct?

我的HTML代码如下:

<html>
    <head>
        <link rel="stylesheet" href="https://pyscript.net/alpha/pyscript.css" />
        <script defer src="https://pyscript.net/alpha/pyscript.js"></script>
        <title>Title</title>
        <py-env>
        - paths:
            - ../app/db_operations/BookOperations.py
        </py-env>
    </head>
    <body>
        <py-script>
            from BookOperations import get_books_count
        </py-script>
    </body>
</html>

我已尝试以下方法但均未解决问题:

  • 移除路径首段的斜杠,写成..app/db_operations/BookOperations.py
  • 路径开头使用单个点,写成./app/db_operations/BookOperations.py
  • 路径开头不使用点
  • 将路径写成app.db_operations.BookOperations.py(用.代替/)
  • 将<py-env>标签移至<body>标签内

解决建议

1. 确认路径基于服务器根目录而非本地文件系统

PyScript的路径是相对于你运行HTML文件的服务器根目录,不是本地文件系统的相对路径。比如你的项目结构是:

项目根目录/
├── app/
│   └── db_operations/
│       └── BookOperations.py
└── html/
    └── 当前HTML文件.html

那你需要把<py-env>里的路径调整为/app/db_operations/BookOperations.py;如果HTML文件就在项目根目录下,直接写app/db_operations/BookOperations.py即可。

2. 必须通过本地服务器运行项目

PyScript无法直接读取本地文件系统的文件,必须用本地服务器启动项目:

  • 用Python启动:在项目根目录打开终端,运行python -m http.server 8000,然后访问http://localhost:8000/你的HTML文件路径
  • 用VSCode的Live Server插件直接右键HTML文件启动

3. 检查文件名和路径的大小写

浏览器是严格区分大小写的,比如bookoperations.py和BookOperations.py会被视为不同文件,确保代码里的路径和实际文件名完全匹配。

4. 先做最小化测试定位问题

把BookOperations.py复制到HTML文件所在的目录,修改<py-env>为:

<py-env>
- paths:
    - ./BookOperations.py
</py-env>

如果能成功导入,说明之前的路径层级判断错误,再逐步调整路径到正确位置。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 14:40:18