Python
Flask
Verifica la disponibilidad de Python, pip y Virtualenv:
[alumno@servidor ~]$ which python /usr/bin/python [alumno@servidor ~]$ python --version Python 2.7.5 [alumno@servidor ~]$ which pip /usr/bin/pip [alumno@servidor ~]$ pip --version pip 7.1.0 from /usr/lib/python2.7/site-packages (python 2.7) [alumno@servidor ~]$ which virtualenv which: no virtualenv in (/home/alumno/.local/bin:...)
Como usuario
root
, instala a Virtualenv:[root@servidor ~]# pip install virtualenv Collecting virtualenv Downloading virtualenv-13.1.0-py2.py3-none-any.whl (1.7MB) Installing collected packages: virtualenv Successfully installed virtualenv-13.1.0
Verifica la instalación de Virtualenv:
[alumno@servidor ~]$ which virtualenv /usr/bin/virtualenv [alumno@servidor ~]$ virtualenv --version 13.1.0
Crea el directorio para el proyecto (
flask
) y accede a él:[alumno@servidor ~]$ mkdir -p $HOME/www/flask [alumno@servidor ~]$ cd $HOME/www/flask
Crea un entorno virtual dentro de tu proyecto:
[alumno@servidor flask]$ virtualenv venv New python executable in venv/bin/python Installing setuptools, pip, wheel...done.
Activa el recien creado entorno virtual dentro de tu proyecto:
[alumno@servidor flask]$ . venv/bin/activate (venv)[alumno@servidor flask]$
Observaciones: al activar el entorno virtual el prompt de la shell cambiará.
Instala a Flask de forma local, dentro de tu proyecto:
(venv)[alumno@servidor flask]$ pip install Flask InsecurePlatformWarning Collecting Flask InsecurePlatformWarning Downloading Flask-0.10.1.tar.gz (544kB) 100% |████████████████████████████████| 544kB 347kB/s Collecting Werkzeug>=0.7 (from Flask) Downloading Werkzeug-0.10.4-py2.py3-none-any.whl (293kB) 100% |████████████████████████████████| 294kB 483kB/s Collecting Jinja2>=2.4 (from Flask) Downloading Jinja2-2.8-py2.py3-none-any.whl (263kB) 100% |████████████████████████████████| 266kB 608kB/s Collecting itsdangerous>=0.21 (from Flask) Downloading itsdangerous-0.24.tar.gz (46kB) 100% |████████████████████████████████| 49kB 770kB/s Collecting MarkupSafe (from Jinja2>=2.4->Flask) Downloading MarkupSafe-0.23.tar.gz Building wheels for collected packages: Flask, itsdangerous, MarkupSafe Running setup.py bdist_wheel for Flask Stored in directory: /home/alumno/.cache/pip/wheels/d2/db/61/cb9b80526b8f3ba89248ec0a29d6da1bb6013681c930fca987 Running setup.py bdist_wheel for itsdangerous Stored in directory: /home/alumno/.cache/pip/wheels/97/c0/b8/b37c320ff57e15f993ba0ac98013eee778920b4a7b3ebae3cf Running setup.py bdist_wheel for MarkupSafe Stored in directory: /home/alumno/.cache/pip/wheels/94/a7/79/f79a998b64c1281cb99fa9bbd33cfc9b8b5775f438218d17a7 Successfully built Flask itsdangerous MarkupSafe Installing collected packages: Werkzeug, MarkupSafe, Jinja2, itsdangerous, Flask Successfully installed Flask-0.10.1 Jinja2-2.8 MarkupSafe-0.23 Werkzeug-0.10.4 itsdangerous-0.24
Crea el archivo
index.py
(el punto de inicio de tu "aplicación") con el siguiente contenido:from flask import Flask, jsonify app = Flask(__name__) @app.route('/') def hello_world(): return jsonify(mensaje="Hola mundo") if __name__ == '__main__': app.run(host='0.0.0.0', port=8080)
Ejecuta tu aplicación:
(venv)[alumno@servidor flask]$ pwd /home/alumno/www/flask (venv)[alumno@servidor flask]$ python index.py * Running on http://0.0.0.0:8080/ (Press CTRL+C to quit)
Con un cliente REST accede a http://localhost:8080