Запустите скрипт Python в файле из облачной функции - PullRequest
0 голосов
/ 23 мая 2018

Я хочу запустить скрипт Python на сервере (Google Compute Engine).Поэтому я сделал код Облачной функции, используя python-shell.Однако эта ошибка появилась.

Ошибка: python: не удается открыть файл '/home/dmproject0608/test2/FaceDetect_.py': [Errno 2] Нет такого файла или каталога

Иэто моя облачная функция:

const functions = require('firebase-functions');
const mkdir=require('mkdirp-promise');
const gcs=require('@google-cloud/storage')();
const spawn=require('child-process-promise').spawn;
const path=require('path');
const os=require('os');
const fs=require('fs');
var pythonShell=require('python-shell');

exports.Test = functions.storage.object().onFinalize((object) => {
    const filePath = object.name;
    const fileName = path.basename(filePath, path.extname(filePath));
    const fileDir = path.dirname(filePath);
    const fileBucket=object.bucket;
    const tempLocalFile = path.join(os.tmpdir(), filePath);
    const tempLocalDir = path.dirname(tempLocalFile);
    const bucket=gcs.bucket(fileBucket);

    if (object.resourceState === 'not_exists') {
        console.log('This is a deletion event.');
        return;
    }

    return mkdir(tempLocalDir).then(()=>{
        return bucket.file(filePath).download({destination : tempLocalFile});
    }).then(()=>{
        console.log('Download is complete %j',tempLocalFile);
        var options={
            mode:'text',
            pythonPath:'',
            pythonOptions: ['-u'],
            scriptPath:'/home/dmproject0608/test2',
            args:[ tempLocalFile]
        };
        pythonShell.run('FaceDetect_.py',options,function(err,results){
            if(err) throw err;
            console.log('result: %j',results);
        });
    });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...