Search code examples
pythonflaskiis-10wfastcgi

Flask, IIS, Python, wfastcgi Error occurred while reading WSGI handler: ImportError: cannot import name 'Flask'


My problem is that I'm trying to deploy a simple flask app.py :

from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
    return "Hello from FastCGI via IIS!"
if __name__ == "__main__":
    app.run()

with that web.config:

<?xml version="1.0" encoding="utf-8"?>
     <configuration>
     <system.webServer>
       <handlers>
        <add name="Python FastCGI" path="*" verb="*" 
        modules="FastCgiModule" scriptProcessor="C:\Python34\python.exe|C:\Python34\lib\site-packages\wfastcgi.py" 
    resourceType="Unspecified" requireAccess="Script" />
       </handlers>
        <httpErrors errorMode="Detailed" />
     </system.webServer>
     <appSettings>
       <!-- Required settings -->
       <add key="WSGI_HANDLER" value="app.app" />
       <add key="PYTHONPATH" value="D:\Web\flaskapp" />
    </appSettings>
</configuration>

i get the errorError:

Error occurred while reading WSGI handler:

Traceback (most recent call last):
  File "C:\Python34\lib\site-packages\wfastcgi.py", line 791, in main
    env, handler = read_wsgi_handler(response.physical_path)
  File "C:\Python34\lib\site-packages\wfastcgi.py", line 633, in read_wsgi_handler
    handler = get_wsgi_handler(os.getenv("WSGI_HANDLER"))
  File "C:\Python34\lib\site-packages\wfastcgi.py", line 616, in get_wsgi_handler
    raise ValueError('"%s" could not be imported%s' % (handler_name, last_tb))
ValueError: "app.app" could not be imported: Traceback (most recent call last):
  File "C:\Python34\lib\site-packages\wfastcgi.py", line 600, in get_wsgi_handler
    handler = __import__(module_name, fromlist=[name_list[0][0]])
  File ".\app.py", line 2, in <module>
    from flask import Flask
ImportError: cannot import name 'Flask'

He dont want import my libs(not all! he can improt time and other like this).

build:

wfastcgi-3.0.0-py3.4.egg-info
Flask-1.0.2.dist-info
python 3.4
IIS 10.0.14393

Big thanks for any help.


Solution

  • Need to use python 3.4.2 x86 only.