Пытается развернуть приложение Python на Azure Cloud. Создал WebApp от Cookiecutter template с помощью python3.5.2x64. Использование preconfigured web.config
из шаблона Я столкнулся с ошибкой 500:
<handler> scriptProcessor could not be found in <fastCGI> application configuration
.Ошибка Python FastCGI на Microsoft Azure
Мой web.config
файл:
<configuration>
<system.web>
<customErrors mode="Off"/>
</system.web>
<appSettings>
<add key="PYTHONPATH" value="D:\home\site\wwwroot"/>
<add key="WSGI_HANDLER" value="webapp.wsgi_app"/>
<add key="WSGI_LOG" value="D:\home\LogFiles\python.log"/>
</appSettings>
<system.webServer>
<httpErrors errorMode="Detailed" />
<modules runAllManagedModulesForAllRequests="true" />
<handlers>
<add name="Python FastCGI"
path="*"
verb="*"
modules="FastCgiModule"
scriptProcessor="D:\home\Python35\python.exe|D:\home\Python35\wfastcgi.py"
resourceType="Unspecified"
requireAccess="Script" />
</handlers>
</system.webServer>
</configuration>
Мои webapp.py
:
def wsgi_app(environ, start_response):
status = '200 OK'
response_headers = [('Content-type', 'text/plain')]
start_response(status, response_headers)
response_body = 'Hello World'
yield response_body.encode()
if __name__ == '__main__':
from wsgiref.simple_server import make_server
httpd = make_server('localhost', 5555, wsgi_app)
httpd.serve_forever()
Использование Django приложение из Azure не помогает, потому что это довольно устаревший (использует неподдерживаемый Microsoft.Diagnostics
, повышает AttributeError: 'module' object has no attribute 'get_virtualenv_handler'
).
Любые предложения, что я делаю неправильно? Спасибо.
Обновление. По прошествии некоторого времени я выяснил, что все работает с родным установленным Python (2 или 3, не имеет значения), поэтому кажется, что IIS не видит или не smath мой Python Extension (установленный с Azure Portal btw) , Тем не менее, даже с родным Python он работает не сразу, а сначала бросает TypeError: source code string cannot contain null bytes
(Python 3.4) или AttributeError: 'module' object has no attribute 'wsgi_app'
(Python 2.7). И примерно через 15 минут он начинает работать. magical. Все, что я делал, менялось Hello World! строка.
Вы проверили документацию для этого? https://azure.microsoft.com/en-gb/documentation/articles/web-sites-python-configure/ –
Но пытаетесь ли вы развернуть это как приложение или внутри лазурной виртуальной машины? – Hackerman
@Хакерман, как приложение, я имею в виду, что я выбираю веб-приложение, а затем через Git или VS Code Online. Я добавляю эти два файла и перезапускаю. – pro100filipp