Setting up Flask on IIS
Jump to navigation
Jump to search
From scratch on PROCYON
Image of Console
- Check that I have FastCGI Installed. If not - install it.
- Add the new web site
- Check Basic Settings
- Setup FastCGI
- Go to Handler Mappings
- Add Module Mapping
- Need to go to Top of Connections Pane - and select FastCGI Settings - (double click on Icon). Then burrow down into Environment Variables and add:
PYTHONPATH C:\www\sites\flask WSGI_HANDLER server.app
Setup the Flask application tree.
(Make up a model)
Python Setup
C:\Users\plh>python --version
Python 2.7.13
C:\Users\plh>
C:\Users\plh>ipip install wfastcgi
'ipip' is not recognized as an internal or external command,
operable program or batch file.
C:\Users\plh>pip install wfastcgi
Collecting wfastcgi
Downloading wfastcgi-3.0.0.tar.gz
Installing collected packages: wfastcgi
Running setup.py install for wfastcgi ... done
Successfully installed wfastcgi-3.0.0
C:\Users\plh>pip install wfastcgi
Requirement already satisfied: wfastcgi in c:\apps\python27_64\lib\site-packages
C:\Users\plh>pip install Flask
Collecting Flask
Downloading Flask-0.12.2-py2.py3-none-any.whl (83kB)
100% |################################| 92kB 921kB/s
Collecting itsdangerous>=0.21 (from Flask)
Downloading itsdangerous-0.24.tar.gz (46kB)
100% |################################| 51kB 1.1MB/s
Collecting click>=2.0 (from Flask)
Downloading click-6.7-py2.py3-none-any.whl (71kB)
100% |################################| 71kB 1.5MB/s
Collecting Werkzeug>=0.7 (from Flask)
Downloading Werkzeug-0.12.2-py2.py3-none-any.whl (312kB)
100% |################################| 317kB 930kB/s
Collecting Jinja2>=2.4 (from Flask)
Downloading Jinja2-2.9.6-py2.py3-none-any.whl (340kB)
100% |################################| 348kB 1.1MB/s
Collecting MarkupSafe>=0.23 (from Jinja2>=2.4->Flask)
Downloading MarkupSafe-1.0.tar.gz
Installing collected packages: itsdangerous, click, Werkzeug, MarkupSafe, Jinja2, Flask
Running setup.py install for itsdangerous ... done
Running setup.py install for MarkupSafe ... done
Successfully installed Flask-0.12.2 Jinja2-2.9.6 MarkupSafe-1.0 Werkzeug-0.12.2 click-6.7 itsdangerous-0.24
C:\Users\plh>
C:\Users\plh>pip install sqlalchemy
Collecting sqlalchemy
Downloading SQLAlchemy-1.1.12.tar.gz (5.2MB)
100% |################################| 5.2MB 212kB/s
Installing collected packages: sqlalchemy
Running setup.py install for sqlalchemy ... done
Successfully installed sqlalchemy-1.1.12
C:\Users\plh>pip install flask-sqlalchemy
Collecting flask-sqlalchemy
Downloading Flask_SQLAlchemy-2.2-py2.py3-none-any.whl
Requirement already satisfied: SQLAlchemy>=0.8.0 in c:\apps\python27_64\lib\site-packages (from flask-sqlalchemy)
Requirement already satisfied: Flask>=0.10 in c:\apps\python27_64\lib\site-packages (from flask-sqlalchemy)
Requirement already satisfied: itsdangerous>=0.21 in c:\apps\python27_64\lib\site-packages (from Flask>=0.10->flask-sqlalchemy)
Requirement already satisfied: click>=2.0 in c:\apps\python27_64\lib\site-packages (from Flask>=0.10->flask-sqlalchemy)
Requirement already satisfied: Werkzeug>=0.7 in c:\apps\python27_64\lib\site-packages (from Flask>=0.10->flask-sqlalchemy)
Requirement already satisfied: Jinja2>=2.4 in c:\apps\python27_64\lib\site-packages (from Flask>=0.10->flask-sqlalchemy)
Requirement already satisfied: MarkupSafe>=0.23 in c:\apps\python27_64\lib\site-packages (from Jinja2>=2.4->Flask>=0.10->flask-sqlalchemy)
Installing collected packages: flask-sqlalchemy
Successfully installed flask-sqlalchemy-2.2
C:\Users\plh>
C:\Users\plh>cd \www
C:\www>cd sites
C:\www\sites>cd flask
C:\www\sites\flask>python server.py
Traceback (most recent call last):
File "server.py", line 9, in <module>
from flaskapp import app
File "/www/sites/flask\flaskapp\__init__.py", line 17, in <module>
from trace import Trace
File "/www/sites/flask\flaskapp\trace.py", line 7, in <module>
import pytz
ImportError: No module named pytz
C:\www\sites\flask>pip install pytz
Collecting pytz
Downloading pytz-2017.2-py2.py3-none-any.whl (484kB)
100% |################################| 491kB 957kB/s
Installing collected packages: pytz
Successfully installed pytz-2017.2
C:\www\sites\flask>python server.py
Traceback (most recent call last):
File "server.py", line 9, in <module>
from flaskapp import app
File "/www/sites/flask\flaskapp\__init__.py", line 51, in <module>
from . import routes, models
File "/www/sites/flask\flaskapp\routes.py", line 8, in <module>
import requests
ImportError: No module named requests
C:\www\sites\flask>pip install requests
Collecting requests
Downloading requests-2.18.3-py2.py3-none-any.whl (88kB)
100% |################################| 92kB 1.1MB/s
Collecting idna<2.6,>=2.5 (from requests)
Downloading idna-2.5-py2.py3-none-any.whl (55kB)
100% |################################| 61kB 1.4MB/s
Collecting chardet<3.1.0,>=3.0.2 (from requests)
Downloading chardet-3.0.4-py2.py3-none-any.whl (133kB)
100% |################################| 143kB 1.3MB/s
Collecting certifi>=2017.4.17 (from requests)
Downloading certifi-2017.7.27.1-py2.py3-none-any.whl (349kB)
100% |################################| 358kB 1.1MB/s
Collecting urllib3<1.23,>=1.21.1 (from requests)
Downloading urllib3-1.22-py2.py3-none-any.whl (132kB)
100% |################################| 133kB 975kB/s
Installing collected packages: idna, chardet, certifi, urllib3, requests
Successfully installed certifi-2017.7.27.1 chardet-3.0.4 idna-2.5 requests-2.18.3 urllib3-1.22
C:\www\sites\flask>python server.py
Traceback (most recent call last):
File "server.py", line 9, in <module>
from flaskapp import app
File "/www/sites/flask\flaskapp\__init__.py", line 51, in <module>
from . import routes, models
File "/www/sites/flask\flaskapp\routes.py", line 27, in <module>
from models import \
File "/www/sites/flask\flaskapp\models.py", line 6, in <module>
from dateutil import parser as datetime_parser
ImportError: No module named dateutil
C:\www\sites\flask>pip install dateutil
Collecting dateutil
Could not find a version that satisfies the requirement dateutil (from versions: )
No matching distribution found for dateutil
C:\www\sites\flask>pip install python-dateutil
Collecting python-dateutil
Downloading python_dateutil-2.6.1-py2.py3-none-any.whl (194kB)
100% |################################| 194kB 1.1MB/s
Collecting six>=1.5 (from python-dateutil)
Downloading six-1.10.0-py2.py3-none-any.whl
Installing collected packages: six, python-dateutil
Successfully installed python-dateutil-2.6.1 six-1.10.0
C:\www\sites\flask>python server.py
* Restarting with stat
* Debugger is active!
* Debugger PIN: 180-289-821
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)\
OK. It's now working!
Other Setup Items
Now need to add in ReCAPCHA and Auth0 configuration items (See CONFIG.py)
DBHost = '221.121.151.121' DBName = 'SarasDB_V2_3_0_Projects_RA' DBUser = 'ets' DBPassword = 'C0mm@nd3r' DebugFile = 'C:/Temp/flask_aasdev.txt' Host = 'flask.aasdev.net' UploadRootFolder = 'C:/www/uploads/flask' RecaptchaKey = '6LeItx8UAAAAAG5ODpug3ft7tPzL4hw75NGSam5u' Auth0ClientId = 'IFgRoE15aHQJqH7O1qHvTvKNxkYp70E8' Auth0ClientSecret = 'EqdnvhvQbqDnmYelZz1gcmFMMwlip5F0lyfREtphH0G0P1H-75WV2qP5TKhnJJAh' AppTitle = 'AAS Devel Sandpit' URI_TEMPLATE = 'mssql+pyodbc://%s:%s@%s/%s?driver=SQL+Server+Native+Client+11.0'
In particular:
- RecaptchaKey - Go to Google site and add this.
- Auth0ClientId & Auth0ClientSecret - Go to magusco.au.auth0.com for this.