Выполнение скрипта Python в IIS - PullRequest
0 голосов
/ 05 декабря 2018

Я пытаюсь запустить скрипт python в своем веб-приложении на фляге.Обычно пользователь может нажать на кнопку, и сценарий должен запускаться на сервере, на котором размещено мое веб-приложение.Я размещаю его на Windows Server 2016 и IIS (я знаю, я должен рассмотреть Linux)

enter image description here

Когда пользователь нажимает на кнопку, сервервыполняет следующий скрипт с помощью функции os.system, которая настроена следующим образом:

def run_python_script(script_path_and_arguments):    
    try:
        command = 'python {}'.format(script_path_and_arguments)
        system(command)
        return True, 'Success'
    except Exception as e:
        logger.error('Failed to run script, exception: {}'.format(e))
        return False, 'Unknown Error'

enter image description here

Когда я запускаю скрипт локально на своей рабочей станции, онвыполняет нормально.Когда я запускаю скрипт с сервера, из командной строки он работает нормально. Когда я пытаюсь запустить его через веб-сайт, при нажатии кнопки он не работает.

Мне кажется, что это должны быть некоторыепроблема разрешения / безопасности, когда она работает под IIS.Можете ли вы представить, где мне следует искать решение этой проблемы?

на сервере, где python.exe находится в каталоге c: \ Anaconda3 \

Редактировать: теперь я попытался захватитьвывод, запустив скрипт с модулем подпроцесса: он выдает простое исключение «Команда« python ... »вернула ненулевой статус выхода 1»

def run_python_script(tscript_path_and_arguments):
    try:
        command = 'python {}'.format(script_path_and_arguments) 
        output_bytes = subprocess.check_output(command, stderr=subprocess.STDOUT)
        output = output_bytes.decode('utf-8')
        lines = output.split('\n')
        for line in lines:
            logger.info(msg='Script output =  {}'.format(line))
        return True, 'Success'
    except Exception as e:
        logger.error('Failed to run script, exception: {}'.format(e))
        return False, 'Unknown Error'

1 Ответ

0 голосов
/ 05 декабря 2018

получается, что приложение колбы использует не системную переменную среды pythonpath, а ту, которая настроена в настройках fastcgi: enter image description here

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