Python 在IIS 7.5上托管Flask应用程序

Python 在IIS 7.5上托管Flask应用程序,python,iis,flask,iis-7.5,Python,Iis,Flask,Iis 7.5,我正在尝试将Flask应用程序托管到IIS服务器上,但在最后一节中遇到了一些问题。以下是我迄今为止采取的步骤: 安装和安装0.10.1 已安装IIS 7.5 下载 在IIS中创建了一个新网站 为我新创建的应用程序池启用“启用32位应用程序” 使用PyISAPIe.dll创建了通配符脚本映射 创建了以下文件并将其命名为“test.py” 使用Chrome转到localhost/test.py,返回: 问题是:我的应用程序只在您转到/test.py时运行,但我希望不管UR

我正在尝试将Flask应用程序托管到IIS服务器上,但在最后一节中遇到了一些问题。以下是我迄今为止采取的步骤:

  • 安装和安装0.10.1
  • 已安装IIS 7.5
  • 下载
  • 在IIS中创建了一个新网站

  • 为我新创建的应用程序池启用“启用32位应用程序”

  • 使用PyISAPIe.dll创建了通配符脚本映射

  • 创建了以下文件并将其命名为“test.py”
  • 使用Chrome转到localhost/test.py,返回:

问题是:我的应用程序只在您转到/test.py时运行,但我希望不管URL如何运行。我需要在IIS中做什么,以便所有请求(无论URL如何)都将使用我的flask应用程序

更新:我已经让它开始工作了。以下是我所做的:

  • 将Http.Isapi.py中的请求函数替换为以下内容:

  • 使用Chrome转到localhost/test.py,返回:

我现在有一个新问题。当我从测试应用程序转到实际应用程序时,我会收到以下回溯:

File "C:\Python26\Lib\site-packages\sqlalchemy\connectors\pyodbc.py", line 50, in dbapi
    return __import__('pyodbc')
ImportError: DLL load failed: The specified module could not be found.

问题不是我没有安装pyodbc。如果我的应用程序是通过Flask.run()方法启动的,那么它运行得非常好。

你知道吗?我面临着一个非常类似的问题。恐怕我从来没有让它工作过。我最终将应用程序切换到Apache服务器。如果你能找到答案,请让我知道@JBolton:我也面临同样的问题,现在正在考虑使用Apache。您能帮助我如何设置Apache服务器以运行正在使用的python应用程序吗Flask@OpenStack当然有三个重要部分:Python、Apache和mod_wsgi(Apache模块)。非常重要的一点是,它们要么是32b,要么是64b。如果3个选项中的任何一个不匹配,您将收到各种各样的错误消息。将以下内容添加到httpd.conf文件:“LoadModule wsgi_modules/mod_wsgi.so”。然后创建一个.wsgi脚本,该脚本设置变量“application”,例如:application=create\u app(config)。如果你需要的话,我可以在下午增加更多。
app_root = "my path"
sys.path.append(app_root)

from test import Request
File "C:\Python26\Lib\site-packages\sqlalchemy\connectors\pyodbc.py", line 50, in dbapi
    return __import__('pyodbc')
ImportError: DLL load failed: The specified module could not be found.