Я не могу запустить код Python через мое приложение Meteor.
Я новичок в работе с докером, и я только что понял принцип работы контейнеров. Использование Meteor up ! Я развернул базовое приложение Meteor на своем сервере.
Это приложение развернуто с помощью Docker. Моя цель этого приложения состоит в том, чтобы вызвать код Python. Я могу запустить код python в терминале через SSH, но при попытке запустить его из Meteor он не может найти python3.
Что будет хорошей практикой для запуска кода Python из приложения метеора?
const Future = Npm.require("fibers/future");
// Load exec
const exec = Npm.require("child_process").exec;
// This method call won't return immediately, it will wait for the
// asynchronous code to finish, so we call unblock to allow this client
// to queue other method calls (see Meteor docs)
console.log('before unblock');
this.unblock();
console.log('starting futures');
const future = new Future();
const command = `python3 ~/python_project/run.py '${fileName}' '${name}'`;
console.log('before execution');
exec(command,function(error,stdout,stderr) {
console.log('during execution');
if (error) {
console.log(error);
throw new Meteor.Error(500,command+" failed");
}
future.return(stdout.toString());
});
console.log('after execution');
return future.wait();
}
Глядя на логи Docker, он теперь возвращает / bin / sh: 1: python3: not found
Поскольку python3 установлен правильно и работает через ssh, я предполагаю, что он запускает код внутри метеорного контейнера.
ОБНОВЛЕНИЕ 1:
Я попытался добавить Python в свой контейнер. Я добавил следующие команды в док-систему buildInstructions: 'RUN apt-get update && apt-get -y upgrade && apt-get install -y python3-pip && pip3 install setuptools'
После этого я попытался запустить мой setup.py из проекта, потому что не смог найти доступ к файлам моего проекта Python из сценария.
В настоящее время я ищу способ запустить мой файл setup.py из проекта meteor без какого-либо успеха. Есть мысли о том, как поступить?