У меня есть основанное на Flask
веб-приложение на Python, которое отлично работает на Azure. Я сделал некоторые изменения и добавил input.json
файл, который содержит некоторые настройки проекта. У меня есть файлы ниже в корневом каталоге проекта:
app.py -> Main python file
input.json -> Input configuration file used by app.py
requirements.txt -> This file contains python packages used by project
web.config -> Azure web config file
Ниже приведено содержимое web.config
файла
<configuration>
<appSettings>
<add key="WSGI_HANDLER" value="app.wsgi_app"/>
<add key="PYTHONPATH" value="D:\home\site\wwwroot"/>
<add key="WSGI_LOG" value="D:\home\LogFiles\wfastcgi.log"/>
</appSettings>
<system.webServer>
<handlers>
<add name="PythonHandler" path="*" verb="*" modules="FastCgiModule" scriptProcessor="D:\home\Python364x64\python.exe|D:\home\Python364x64\wfastcgi.py" resourceType="Unspecified" requireAccess="Script"/>
</handlers>
</system.webServer>
</configuration>
Это все работает нормально на моей локальной машине. Но когда я развернул это на Azure, API не работал. Я открыл консоль kudu и проверил логи wfastcgi.log
, это показывало ошибку:
No such file or directory: 'D:\\home\\python364x64\\input.json'
Проблема в том, что input.json
находится внутри D:\home\site\wwwroot>
, но он автоматически выбирает неправильный путь и, следовательно, не выполняет код.
1. Почему он ищет файл input.json
по неверному пути .?
2. Как я могу указать правильный путь для input.json
файла .?
3. Если в будущем я добавлю больше файлов, где я должен правильно указать путь ко всем файлам. Должны ли мы упомянуть об этом в web.config
файле .?
Спасибо.!