General-purpose, high-level programming language supporting multiple programming paradigms.
Flask is a micro web framework for Python, based on the Werkzeug toolkit and Jinja2 template engine.
Fedora includes a
python3-flask package that you can install and import.
However, unless you are developing or packaging an application for Fedora, it is more useful to install Flask as a third-party package inside a virtual environment.
This will keep your project separate from your system, giving you more freedom in choosing additional libraries and their versions, and easing collaboration with people who aren’t using Fedora yet.
Let’s create a new project and a virtual environment.
Open the Terminal (press
F1, type Terminal and click
Then, create a new folder
my_project, open it, and create a virtual environment called
$ mkdir my_project $ cd my_project $ python3 -m venv project_venv
To work in the virtual environment, you have to activate it.
$ source project_venv/bin/activate
In an active the virtual environment (with the name
(project_venv) included in your command line prompt), you can install Flask from PyPI.
(project_venv) $ python -m pip install flask
That is all, you have sucessfully installed Flask in the virtual environment! Now you can start working on your project.
This is an example of how a minimal Flask application can look like.
Save the code as
from flask import Flask app = Flask(__name__) @app.route("/") def hello_world(): return "Hello World!"
To run a Flask app in a development server, set an environment variable to tell Flask where the app is, and then run
Assuming that you have some Flask application called
hello.py, you can run it in your activated virtual environment (see above) like this.
(project_venv) $ export FLASK_APP=hello.py (project_venv) $ python -m flask * Running on http://127.0.0.1:5000/
You should see that it is running on some address, in this case 127.0.0.1. Open the address shown in a web browser to see your application.
And you’re off! See Flask’s website for complete documentation and deployment options.
When you finish your work, you can deactivate the virtual environment.
(project_venv) $ deactivate $