信息发布→ 登录 注册 退出

如何在 HTML 中引用外部 Python 文件(使用 PyScript)

发布时间:2026-01-12

点击量:

本文介绍如何通过 pyscript 的 `src` 属性将外部 `.py` 文件链接到 html 页面,实现逻辑与界面分离,避免内联代码杂乱,并解决包导入问题。需配合本地 http 服务器运行。

在 Web 前端中直接运行 Python 代码并非原生支持,但借助 PyScript(一个基于 WebAssembly 的 Python 运行时),你可以在浏览器中执行 Python。关键在于:不能像

✅ 正确做法:使用 + 本地 HTTP 服务

  1. 准备文件结构

    my-game/
    ├── index.html
    └── game_logic.py
  2. 在 index.html 中引用外部 Python 文件

    
    
      
        
        My Python Game
        
        
      
    
      
        

    ? My Browser Game

  3. 编写 game_logic.py(示例)

    # game_logic.py
    from pyscript import display
    
    def start_game():
        display("Welcome to the Python Game!", target="output", append=False)
    
    # 自动执行初始化(PyScript 会立即运行此脚本)
    start_game()
  4. 启动本地 HTTP 服务器(必需!)
    在 my-game/ 目录下运行:

    python -m http.server 8000

    然后访问 http://localhost:8000 —— 此时 ./game_logic.py 可被正确加载为相对 URL。

⚠️ 重要注意事项

  • 不要写 src="file:///path/to/game_logic.py":浏览器会因 CORS 和安全限制拒绝加载本地 file:// 协议资源。
  • 所有资源(HTML、.py、依赖包)必须通过 http:// 或 https:// 提供;PyScript 不支持跨域加载(除非服务端配置了 CORS)。
  • ? 第三方包需显式声明:若 game_logic.py 使用 numpy 或 pygame(注意:pygame 不支持 浏览器环境),需在 HTML 中通过 指定:
    
      packages = ["numpy"]
    
  • ? 调试技巧:打开浏览器开发者工具(F12)→ Console 标签页,查看 PyScript 加载日志和报错信息;网络(Network)标签可确认 .py 文件是否成功加载。

? 总结

将 Python 逻辑拆分为独立 .py 文件并用 引入,是提升可维护性、支持模块化开发的关键一步。但务必牢记:这不是传统意义上的“脚本引用”,而是通过 Web 服务器提供可跨域获取的 Python 源码,由 PyScript 在浏览器中解析执行。对于初学者,建议从 python -m http.server 入手,后续再迁移到 Flask/Vite 等更健壮的服务方案。

标签:# css  # python  # html  # js  # 前端  # vite  # 浏览器  # app  # 工具  # 跨域  # .net  
在线客服
服务热线

服务热线

4008888355

微信咨询
二维码
返回顶部
×二维码

截屏,微信识别二维码

打开微信

微信号已复制,请打开微信添加咨询详情!