Узел, порождает несколько зависимых команд оболочки - PullRequest
0 голосов
/ 16 мая 2018

Я пытаюсь использовать gulp для активации virtualenv для python и запуска сервера django. Хотя я могу правильно запустить сервер, я не могу активировать virtualenv заранее. (это нарушает интеграцию с gulp-инструментом моей IDE). Есть ли способ сделать запуск спавка virtualenv первым и стать частью дочернего процесса, который запускает сервер (так как сервер зависит от нахождения в виртуальной среде).

gulpfile.js

gulp.task('runServer', function(cb) {
  var virtualenv = spawn('source venv/bin/activate')
  var cmd = spawn('python', ['manage.py', 'runserver'], {stdio: 'inherit'});
  cmd.on('close', function(code) {
    console.log('runServer exited with code ' + code);
    cb(code);
  });
});

1 Ответ

0 голосов
/ 16 мая 2018

Может быть, вы могли бы попробовать что-то вроде этого:

child_process.spawn('venv/bin/python', ['manage.py', 'runserver']);

При этом используется python env, но для выполнения требуется только одна команда

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...