Добрый день впервые столкнулся с задачей запуска стороннего скрипта из приложения на django, реализовал это таким образом:
#view.py
def run_script(request):
""" Запуск стороннего скрипта для анализа загруженной картинки"""
#получаем только что сохранённый файл, формируем путь до него
image = ImageToStudy.objects.order_by('-pk').first()
file_to_study = '.'+MEDIA_URL+image.image.name
#запускаем скрипт с аргументом= путь до картинки
code=subprocess.call([sys.executable,'./script/one_letters_predict.py', file_to_study])
if code == 0:
with open("script/descr_letter.txt") as file:
text = file.read().splitlines()
context = {'text': text}
return render(request, 'grafolog/script_text.html', context )
if code == 1:
context = {'text': 'что то пошло не так'}
return render(request, 'grafolog/script_text.html', context )
если запускаю локально через manage.py всё работает, после развёртывания приложения на сервере Apache скрипт не запускается, при этом если приложение на сервере запустить через manage.py runserver "ip":8001 то оно отрабатывает как положено, предполагаю что дело в настройках wsgi, кто сталкивался с подобным просьба помочь!