Azure Python Web 应用程序内部服务器错误
Azure Python Web App Internal Server Error
编辑:问题似乎是在我的应用程序中导入包。所有软件包都已正确安装,我可以在我的 wwwroot 中使用 kudu 看到它们。
但是,当我在脚本中导入它们时,出现 500 错误。最奇怪的是,只有当我以这种方式导入包时才会出现问题:
from package import something
但不是这样:
import package
当我尝试调用包函数时,我也遇到了同样的错误,这意味着我无法访问包中的任何内容(?)
似乎在网络应用程序中产生了异常,但在我的本地机器中没有。有什么想法吗?
我正在尝试在 Azure Web 应用程序中发布 Python Web 应用程序,但我总是失败。
我使用 bottle 作为 web 框架,我安装的包及其依赖项是:
- Numpy
- Scipy
- Scikit-图像
我已经配置了虚拟环境以匹配网络应用程序(32 位/2.7),并且我使用 post 中提到的轮子安装了软件包:https://azure.microsoft.com/en-us/documentation/articles/web-sites-python-create-deploy-bottle-app/
我正在通过 VS 和 Azure SDK 的发布向导部署应用程序,一切都按预期工作。
当应用程序启动时,我收到 500 错误,控制台显示以下内容:
我的web.cofing是这样的:
<?xml version="1.0"?>
<!-- Generated web.config for Microsoft Azure. Remove this comment to prevent
modifications being overwritten when publishing the project.
-->
<configuration>
<system.diagnostics>
<trace>
<listeners>
<add type="Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener, Microsoft.WindowsAzure.Diagnostics, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31b....." name="AzureDiagnostics">
<filter type="" />
</add>
</listeners>
</trace>
</system.diagnostics>
<appSettings>
<add key="WSGI_ALT_VIRTUALENV_HANDLER" value="app.wsgi_app()" />
<add key="WSGI_ALT_VIRTUALENV_ACTIVATE_THIS" value="D:\home\site\wwwroot\env\Scripts\activate_this.py" />
<add key="WSGI_HANDLER" value="ptvs_virtualenv_proxy.get_virtualenv_handler()" />
<add key="PYTHONPATH" value="D:\home\site\wwwroot" />
</appSettings>
<system.web>
<compilation debug="true" targetFramework="4.0" />
</system.web>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true" />
<handlers>
<add name="Python FastCGI" path="handler.fcgi" verb="*" modules="FastCgiModule" scriptProcessor="D:\Python27\python.exe|D:\Python27\Scripts\wfastcgi.py" resourceType="Unspecified" requireAccess="Script" />
</handlers>
<rewrite>
<rules>
<rule name="Static Files" stopProcessing="true">
<conditions>
<add input="true" pattern="false" />
</conditions>
</rule>
<rule name="Configure Python" stopProcessing="true">
<match url="(.*)" ignoreCase="false" />
<conditions>
<add input="{REQUEST_URI}" pattern="^/static/.*" ignoreCase="true" negate="true" />
</conditions>
<action type="Rewrite" url="handler.fcgi/{R:1}" appendQueryString="true" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
对为什么会发生这种情况有帮助吗?
终于,我成功了。
问题是我用来安装轮子的 pip 版本。在我升级到 pip 8.11.1
后,一切都按预期工作。
编辑:问题似乎是在我的应用程序中导入包。所有软件包都已正确安装,我可以在我的 wwwroot 中使用 kudu 看到它们。 但是,当我在脚本中导入它们时,出现 500 错误。最奇怪的是,只有当我以这种方式导入包时才会出现问题:
from package import something
但不是这样:
import package
当我尝试调用包函数时,我也遇到了同样的错误,这意味着我无法访问包中的任何内容(?)
似乎在网络应用程序中产生了异常,但在我的本地机器中没有。有什么想法吗?
我正在尝试在 Azure Web 应用程序中发布 Python Web 应用程序,但我总是失败。 我使用 bottle 作为 web 框架,我安装的包及其依赖项是:
- Numpy
- Scipy
- Scikit-图像
我已经配置了虚拟环境以匹配网络应用程序(32 位/2.7),并且我使用 post 中提到的轮子安装了软件包:https://azure.microsoft.com/en-us/documentation/articles/web-sites-python-create-deploy-bottle-app/
我正在通过 VS 和 Azure SDK 的发布向导部署应用程序,一切都按预期工作。
当应用程序启动时,我收到 500 错误,控制台显示以下内容:
我的web.cofing是这样的:
<?xml version="1.0"?>
<!-- Generated web.config for Microsoft Azure. Remove this comment to prevent
modifications being overwritten when publishing the project.
-->
<configuration>
<system.diagnostics>
<trace>
<listeners>
<add type="Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener, Microsoft.WindowsAzure.Diagnostics, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31b....." name="AzureDiagnostics">
<filter type="" />
</add>
</listeners>
</trace>
</system.diagnostics>
<appSettings>
<add key="WSGI_ALT_VIRTUALENV_HANDLER" value="app.wsgi_app()" />
<add key="WSGI_ALT_VIRTUALENV_ACTIVATE_THIS" value="D:\home\site\wwwroot\env\Scripts\activate_this.py" />
<add key="WSGI_HANDLER" value="ptvs_virtualenv_proxy.get_virtualenv_handler()" />
<add key="PYTHONPATH" value="D:\home\site\wwwroot" />
</appSettings>
<system.web>
<compilation debug="true" targetFramework="4.0" />
</system.web>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true" />
<handlers>
<add name="Python FastCGI" path="handler.fcgi" verb="*" modules="FastCgiModule" scriptProcessor="D:\Python27\python.exe|D:\Python27\Scripts\wfastcgi.py" resourceType="Unspecified" requireAccess="Script" />
</handlers>
<rewrite>
<rules>
<rule name="Static Files" stopProcessing="true">
<conditions>
<add input="true" pattern="false" />
</conditions>
</rule>
<rule name="Configure Python" stopProcessing="true">
<match url="(.*)" ignoreCase="false" />
<conditions>
<add input="{REQUEST_URI}" pattern="^/static/.*" ignoreCase="true" negate="true" />
</conditions>
<action type="Rewrite" url="handler.fcgi/{R:1}" appendQueryString="true" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
对为什么会发生这种情况有帮助吗?
终于,我成功了。
问题是我用来安装轮子的 pip 版本。在我升级到 pip 8.11.1
后,一切都按预期工作。