nat*_*323 5 javascript python firebase google-cloud-functions
我有一个 Express 应用程序,它生成一个 Python 进程来执行 Python 脚本。当我执行 a 时firebase serve,我可以看到我的端点被命中,然后运行 Python 进程。但是,该过程似乎并未执行。
const runPythonScript = () => {
return new Promise((resolve, reject) => {
let value;
const spawn = require('child_process').spawn;
const pythonProcess = spawn('python', ['./myScript.py']);
pythonProcess.stdout.on('data', (data: string) => {
console.log('Am I being hit?') // This line is not being hit
value = JSON.parse(data);
});
pythonProcess.on('exit', (code: number) => {
if (code === 0) {
resolve(value);
}
else {
reject(value);
}
});
});
}
Run Code Online (Sandbox Code Playgroud)
从上面代码中的注释来看,stdout“data”的监听器没有被命中。我对 Firebase 不太熟悉,但我的想法是使用 Firebase Hosting 作为我的前端,然后使用 Firebase Cloud Functions 来运行我的 Express 服务器。为了让我的应用程序运行 Python 脚本,我需要做什么?
根据我从其他 StackOverflow 帖子(此处)收集的信息,我无法运行 Python 进程,可能是因为 Firebase Cloud Functions 没有安装 Python。因此,我需要将 Python 脚本打包成可执行文件(如此处所述),以便 Firebase Cloud Functions 可以运行该可执行文件。它是否正确?如果是这样,我宁愿不必打包所有的 Python 脚本。有更好的方法来处理这个问题吗?免费吗?
根据我从其他 StackOverflow 帖子收集的信息,我无法运行 Python 进程,可能是因为 Firebase Cloud Functions 没有安装 Python。
这是真实的。
因此,我需要将 Python 脚本打包成可执行文件(如此处所述),以便 Firebase Cloud Functions 可以运行该可执行文件。它是否正确?
你当然可以尝试这个,但我不推荐它。这听起来像是大量的工作却收效甚微,尤其是当你有其他选择的时候。
有更好的方法来处理这个问题吗?
您可以用 python 原生编写云函数。您只是无法使用 Firebase 工具来测试和部署它们。 Google Cloud 拥有您入门所需的一切。
| 归档时间: |
|
| 查看次数: |
8675 次 |
| 最近记录: |