【问题标题】:How can I install python packages permanently when I am running my code as a python shell in nodeJS?当我在 nodeJS 中将代码作为 python shell 运行时,如何永久安装 python 包?
【发布时间】:2020-10-07 00:37:46
【问题描述】:

我正在尝试安装 cv2 和 nmpy 等模块,找到了一些解决方案,但使用它们时,每次使用 shell 时都会进行安装,这会增加响应时间。

这是我用来调用python函数的nodeJS中的函数

`app.post("/img", (req, res) => {
    callNumber(req,res);
});
function callNumber(req,res){
    var spawn= require('child_process').spawn;
    var process = spawn('python',    
    ['./saved_model_exec.py',req.body.imgURL]);
    process.stdout.on('data',function(data){
    res.send(data.toString());
})
}`

这是我要运行的 python 文件

`import tensorflow as tf
 import cv2
 import numpy as np
 import sys
 model = tf.keras.models.load_model('mnist.h5')
 img = cv2.imread('test.png', 0)
 img_resized = img.resize(28, 28)
 img_resized = np.array(img)
 img_reshaped = img_resized.reshape(1, 28, 28, 1)
 img_reshaped = img_reshaped/255.0
 res = model.predict([img_reshaped])[0]
 digit, accuracy = np.argmax(res), max(res)
 print(str(digit))`

【问题讨论】:

    标签: javascript python node.js express web-development-server


    【解决方案1】:

    在运行你的 nodejs 代码之前,使用pip install 安装你的 python 包。 如果您的系统上还没有 pip,请参阅 here 了解如何安装它。

    例如使用 pip 安装 numpy:pip install numpy

    如果你对 python 和 nodejs 使用相同的实例:

    • 在 python 文件旁边添加一个 requirementsx.txt 文件
    • 在启动 nodejs 进程之前使用Procfile 安装依赖项

    【讨论】:

    • 这适用于我的电脑,但当我将它托管在云上时,使用 pip install 只是将它安装在 C 驱动器的 python 目录中,有什么想法可以直接在服务器上使用它吗?
    • 您应该在您托管在云上的实例上安装依赖项。这个建议有意义吗?
    • 我不确定我是否能做到这一点,我正在 Heroku 上部署我的应用程序,根据我的发现,如果它像使用 django 或类似的东西一样运行 python,我只能这样做。 Idk 如何在 nodejs 中使用 express 框架实现 python 依赖项。您还有什么建议吗?
    • 请在您的帖子中更新设置的详细信息。确保包含以下详细信息:您是否在同一实例上部署了 nodejs 和 python 应用程序?你的 python 代码是 django 应用程序吗?你的 python 应用程序有requirements.txt 文件吗?
    • 我正在尝试使用相同的实例,我在问题中添加了我尝试运行的 python 文件,您是否建议我应该使用另一个实例并在那里运行一个 django 服务器来运行这个文件并将它与nodejs服务器链接?
    猜你喜欢
    • 2021-06-03
    • 1970-01-01
    • 2022-10-13
    • 1970-01-01
    • 2020-04-01
    • 1970-01-01
    • 2015-11-21
    • 2021-02-15
    • 2023-01-26
    相关资源
    最近更新 更多