У меня есть два разных приложения Django, оба работают на одном сервере Linux (Ubuntu 18.04 LTS), используя 64-битный Python 3.6.
Приложение A работает в Django 1.11 и virtualenv A .
Приложение B работает в Django 2.1 и virtualenv B .
В Приложение B Мне нужно вызвать функцию для переноса таблиц в Приложение A , когда я запускаю команду в оболочке, все работает нормально.
/path/to/envA/python /path/to/appA/manage.py migrate
Но когда я пытаюсьчтобы выполнить ту же команду внутри приложения B с использованием подпроцесса У меня ошибка без модуля , я подозреваю, что это из-за различных envs.
Это мой код в приложении B:
subprocess.Popen(["/path/to/envA/python", "/path/to/appA/manage.py", "migrate"],
stdin=subprocess.PIPE,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE)
Я еще пытался использовать shell=True
, но это не работает и зависает моя консоль.