【问题标题】:How to combine a Python file with React?如何将 Python 文件与 React 结合起来?
【发布时间】:2021-05-16 11:42:14
【问题描述】:

我想在 React 项目的后端合并一个使用语音识别的 Python 文件。

这里有一段使用语音识别的 Python 代码:

import speech_recognition as sr

r = sr.Recognizer()


def recognize(audio):
    try:
        return r.recognize_google(audio)
    except LookupError:
        print("There was an error")
        return ''

def transciption():
    with sr.Microphone() as source:
        print('speak now')
        r.adjust_for_ambient_noise(source)
        audio = r.listen(source)
        return recognize(audio)

我尝试像这样在我的 react 组件中导入文件:

import SpeechRec from 'SpeechRec.py';

在这里我尝试将我的按钮链接到我的 Python 文件中的函数:

<button onClick={SpeechRec.transcription()}>SR</button>

我收到了编译失败的消息以及以下内容:

./src/components/container/Container.jsx
Module not found: Can't resolve 'SpeechRec.py' in '......\collaborative-whiteboard-SR\ui\src\components\container'

我能做些什么来完成这项工作?

【问题讨论】:

  • react 中不能导入 python 文件,需要做一个后端服务器并发出请求之类的东西。
  • Flask 和 FastAPI 是流行的小型后端框架,可用于创建小型 Web 服务,使 Python 函数在后台作为服务可用。如果您打算在互联网上公开这些服务器,请务必考虑是否需要身份验证和授权。
  • 你想使用 Django 框架来实现这个功能。 Python Django
  • Django + Vue 比 django+react 更容易设置。如果框架不是问题,您应该尝试该组合。

标签: python reactjs


【解决方案1】:

您可以使用 javascript 和 nodejs 实现自己的语音识别模块。查看sonus 之类的一些项目,以及stackoverflow 中的此回复。

如果您仍想使用 python 作为后端语言,您必须实现自己的 API(使用像 flask 这样的库)才能与您的 javascript 代码交互。从您的 React 应用程序中,您应该发出 HTTP 请求,这些请求将接收到您的自定义 Python API,该 API 将响应该应用程序。

【讨论】:

  • 我推荐使用django而不是flask,尤其是django Rest框架是创建自定义API的常用框架。
猜你喜欢
  • 2020-11-08
  • 1970-01-01
  • 2020-01-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-28
  • 1970-01-01
相关资源
最近更新 更多