如何预加载Python-Shell子进程的导入?

时间:2018-07-10 13:21:11

标签: javascript python node.js python-import child-process

我想预加载Open CV脚本的import语句,这样,当我运行myOpenCvScript.py时,它不再需要导入任何内容,从而节省了时间。

但是生成pyshell并对其进行预加载是行不通的,因为它将只执行一次,然后我无法再次使用send方法,而是必须在触发事件时创建一个新的pyshell。否则我会得到

Error: This socket has been ended by the other party
    at Socket.writeAfterFIN [as write] 

所以我不能只继续创建pyshell,使其保持持续打开状态,然后使用send方法访问其方法。同样,首先仅使用“导入”加载脚本不起作用。

总结: 如何在执行之前为Python-Shell预加载Python导入?

在Javascript中:

     var PythonShell = require('python-shell');
            var options = {
                mode: 'json',
                pythonOptions: ['-u'],
                scriptPath: __dirname + '/python/',
            };

            var pyshell = new PythonShell('myOpenCvScript.py', options);

我要从myOpenCvScript.py中预加载的部分:

import cv2

0 个答案:

没有答案