У меня много сценариев python, и у каждого есть своя зависимость.
И я создаю среду conda для каждого сценария python и устанавливаю зависимости тоже.
И я попробовал много способов, как показано ниже
Пробовал 1
const childProcess = require('child_process');
const pythonScript = 'test.py';
const environmentName = 'test';
const command = [
`conda activate ${environmentName}`,
`python ${pythonScript}`
]
.map(v => `(${v})`)
.join(' && ');
const pythonProcess = childProcess.spwan(command, { shell: true });
pythonProcess.stdin.on('data', (data) => console.log(data.toString()));
pythonProcess.stderr.on('data', (data) => console.error(data.toString()));
pythonProcess.on('close', (code) => {
console.log('Process Exited:', code);
});
Пробовал 2
const command = [
`conda activate ${environmentName}`,
`python ${pythonScript}`
]
.map(v => `(${v})`)
.join(' && ');
const pythonProcess = childProcess.spwan(`bash -lc "${command}"`, { shell: true });
Пробовал 3
const command = [
`source /opt/conda/etc/profile.d/conda.sh`,
`conda activate ${environmentName}`,
`python ${pythonScript}`
]
.map(v => `(${v})`)
.join(' && ');
const pythonProcess = childProcess.spwan(`bash -lc "${command}"`, { shell: true });
Но, в скрипте python среда conda не не включен (только что включен conda environemnt по умолчанию).
Как запустить скрипт python в указанной c среде conda в nodejs?