如何从react-js执行python脚本?

问题描述 投票:0回答:3

我有一个用例,我需要从浏览器执行本地 python 脚本并显示返回的输出。

我使用react-js编写了我的网络应用程序。

我当前的解决方案是启动 jupyter 笔记本的本地实例(假设客户端已经在运行它)并让用户执行预填充的第一个单元格,但我希望能够直接从浏览器执行此操作。

python reactjs jupyter-notebook
3个回答
7
投票

出于安全原因,网页无法从浏览器运行任意操作系统命令(例如执行 python 脚本)

服务器必须提供 API 供网页调用(请注意,Jupyter Notebook 使用自己的服务器来执行浏览器中指定的命令 - python 代码不会直接在浏览器中执行)

启动Python Web服务器的方法有很多种,我个人推荐Flask:http://flask.pocoo.org/


2022 年更新: 现在有一个可以在浏览器中运行 Python 的项目,PyScript,可能值得检查一些用例


1
投票

如果您希望使用 Python 进行编程但让代码在浏览器中执行,您需要:

A)在客户端计算机上运行某种Python程序(与浏览器分开),该程序将监听并允许浏览器使用某种Api(Rest等)连接到它;

或者 B) 将 Python 转换为客户端 Javascript,并将其注入网页客户端视图中。有多种工具支持它,例如 https://www.transcrypt.orghttp://pyjs.org

或者 C) 使用允许在浏览器中使用客户端 Python 的库,例如 http://www.skulpt.org(基本上与 B 类似),但它是透明的)


0
投票

目前,在 Web 应用程序(没有 Django 或 Flask 等 Python 后端)中运行 Python 脚本的最佳方法是使用 PyScript

但是,PyScript 并未考虑到 React 或其他 SPA 库/框架,因此您可能会遇到一些问题。

有一个相对较新的项目,名为 pyscript-react,正如它听起来的那样。它应该使 PyScript 与 React 无缝集成。请注意,尽管它的活跃贡献者很少,并且在近一年内没有任何重大提交,所以我不建议您的项目依赖它。

© www.soinside.com 2019 - 2024. All rights reserved.