mirror of https://github.com/mitsuhiko/flask.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
183 lines
4.7 KiB
183 lines
4.7 KiB
.. _installation: |
|
|
|
Installation |
|
============ |
|
|
|
Python Version |
|
-------------- |
|
|
|
We recommend using the latest version of Python 3. Flask supports Python 3.4 |
|
and newer, Python 2.7, and PyPy. |
|
|
|
Dependencies |
|
------------ |
|
|
|
These distributions will be installed automatically when installing Flask. |
|
|
|
* `Werkzeug`_ implements WSGI, the standard Python interface between |
|
applications and servers. |
|
* `Jinja`_ is a template language that renders the pages your application |
|
serves. |
|
* `MarkupSafe`_ comes with Jinja. It escapes untrusted input when rendering |
|
templates to avoid injection attacks. |
|
* `ItsDangerous`_ securely signs data to ensure its integrity. This is used |
|
to protect Flask's session cookie. |
|
* `Click`_ is a framework for writing command line applications. It provides |
|
the ``flask`` command and allows adding custom management commands. |
|
|
|
.. _Werkzeug: http://werkzeug.pocoo.org/ |
|
.. _Jinja: http://jinja.pocoo.org/ |
|
.. _MarkupSafe: https://pypi.python.org/pypi/MarkupSafe |
|
.. _ItsDangerous: https://pythonhosted.org/itsdangerous/ |
|
.. _Click: http://click.pocoo.org/ |
|
|
|
Optional dependencies |
|
~~~~~~~~~~~~~~~~~~~~~ |
|
|
|
These distributions will not be installed automatically. Flask will detect and |
|
use them if you install them. |
|
|
|
* `Blinker`_ provides support for :ref:`signals`. |
|
* `SimpleJSON`_ is a fast JSON implementation that is compatible with |
|
Python's ``json`` module. It is preferred for JSON operations if it is |
|
installed. |
|
* `python-dotenv`_ enables support for :ref:`dotenv` when running ``flask`` |
|
commands. |
|
* `Watchdog`_ provides a faster, more efficient reloader for the development |
|
server. |
|
|
|
.. _Blinker: https://pythonhosted.org/blinker/ |
|
.. _SimpleJSON: https://simplejson.readthedocs.io/ |
|
.. _python-dotenv: https://github.com/theskumar/python-dotenv#readme |
|
.. _watchdog: https://pythonhosted.org/watchdog/ |
|
|
|
Virtual environments |
|
-------------------- |
|
|
|
Use a virtual environment to manage the dependencies for your project, both in |
|
development and in production. |
|
|
|
What problem does a virtual environment solve? The more Python projects you |
|
have, the more likely it is that you need to work with different versions of |
|
Python libraries, or even Python itself. Newer versions of libraries for one |
|
project can break compatibility in another project. |
|
|
|
Virtual environments are independent groups of Python libraries, one for each |
|
project. Packages installed for one project will not affect other projects or |
|
the operating system's packages. |
|
|
|
Python 3 comes bundled with the :mod:`venv` module to create virtual |
|
environments. If you're using a modern version of Python, you can continue on |
|
to the next section. |
|
|
|
If you're using Python 2, see :ref:`install-install-virtualenv` first. |
|
|
|
.. _install-create-env: |
|
|
|
Create an environment |
|
~~~~~~~~~~~~~~~~~~~~~ |
|
|
|
Create a project folder and a :file:`venv` folder within: |
|
|
|
.. code-block:: sh |
|
|
|
mkdir myproject |
|
cd myproject |
|
python3 -m venv venv |
|
|
|
On Windows: |
|
|
|
.. code-block:: bat |
|
|
|
py -3 -m venv venv |
|
|
|
If you needed to install virtualenv because you are on an older version of |
|
Python, use the following command instead: |
|
|
|
.. code-block:: sh |
|
|
|
virtualenv venv |
|
|
|
On Windows: |
|
|
|
.. code-block:: bat |
|
|
|
\Python27\Scripts\virtualenv.exe venv |
|
|
|
.. _install-activate-env: |
|
|
|
Activate the environment |
|
~~~~~~~~~~~~~~~~~~~~~~~~ |
|
|
|
Before you work on your project, activate the corresponding environment: |
|
|
|
.. code-block:: sh |
|
|
|
. venv/bin/activate |
|
|
|
On Windows: |
|
|
|
.. code-block:: bat |
|
|
|
venv\Scripts\activate |
|
|
|
Your shell prompt will change to show the name of the activated environment. |
|
|
|
Install Flask |
|
------------- |
|
|
|
Within the activated environment, use the following command to install Flask: |
|
|
|
.. code-block:: sh |
|
|
|
pip install Flask |
|
|
|
Living on the edge |
|
~~~~~~~~~~~~~~~~~~ |
|
|
|
If you want to work with the latest Flask code before it's released, install or |
|
update the code from the master branch: |
|
|
|
.. code-block:: sh |
|
|
|
pip install -U https://github.com/pallets/flask/archive/master.tar.gz |
|
|
|
.. _install-install-virtualenv: |
|
|
|
Install virtualenv |
|
------------------ |
|
|
|
If you are using Python 2, the venv module is not available. Instead, |
|
install `virtualenv`_. |
|
|
|
On Linux, virtualenv is provided by your package manager: |
|
|
|
.. code-block:: sh |
|
|
|
# Debian, Ubuntu |
|
sudo apt-get install python-virtualenv |
|
|
|
# CentOS, Fedora |
|
sudo yum install python-virtualenv |
|
|
|
# Arch |
|
sudo pacman -S python-virtualenv |
|
|
|
If you are on Mac OS X or Windows, download `get-pip.py`_, then: |
|
|
|
.. code-block:: sh |
|
|
|
sudo python2 Downloads/get-pip.py |
|
sudo python2 -m pip install virtualenv |
|
|
|
On Windows, as an administrator: |
|
|
|
.. code-block:: bat |
|
|
|
\Python27\python.exe Downloads\get-pip.py |
|
\Python27\python.exe -m pip install virtualenv |
|
|
|
Now you can continue to :ref:`install-create-env`. |
|
|
|
.. _virtualenv: https://virtualenv.pypa.io/ |
|
.. _get-pip.py: https://bootstrap.pypa.io/get-pip.py
|
|
|