Использование скрипта Python в NodeJS в GAE

Я использую скрипт Python в NodeJS вот так:

const app = express();
const ps = require('python-shell');
var res_json;
var options = {
    mode: 'text',
    pythonPath: '/usr/bin/python',
    scriptPath: './peframe/peframe',
    args: ['--json' ,'/home/mypath/IP.exe']
};
ps.PythonShell.run('peframe.py', options, function (err, results) {
   if (err) throw err;
  console.info('finished');
  res_json=results.join('');
});

Но если развернуть это приложение, оно не сможет найти Python (но работает локально). ошибка:

Error: spawn /usr/bin/python ENOENT
    at Process.ChildProcess._handle.onexit (child_process.js:232)
    at onErrorNT (internal/child_process.js:407)
    at process._tickCallback (next_tick.js:63)
    at Function.Module.runMain (loader.js:744)
    at startup (internal/bootstrap/node.js:285)
    at bootstrapNodeJSCore (internal/bootstrap/node.js:739) 

Разместите код как текст .. не как изображение.

Harshith Rai 30.11.2018 05:25
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
1
1
166
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Ошибка ENOENT означает, что путь /usr/bin/python не существует. Это потому, что вы используете среду выполнения NodeJS - для нее недоступен Python.

Если вам действительно нужно запускать NodeJS и Python в одном приложении, вы можете развернуть их как отдельные службы в одном приложении.

Другие вопросы по теме