.. _tutorials.installing.packages: Installing packages =================== To use webapp2 outside of App Engine, you need a package manager to install dependencies in your system -- mostly WebOb, and maybe libraries required by the various webapp2_extras modules, if you will use them. For App Engine, some webapp2_extras modules may require that you install external packages to access specific command line tools (i18n, for example, uses pybabel to extract and compile translation catalogs). In this tutorial we'll show how to install a package manager and installer. Install a distutils library --------------------------- If you don't have a distutils library (`distribute <http://pypi.python.org/pypi/distribute>`_ or `setuptools <http://pypi.python.org/pypi/setuptools>`_) installed on you system yet, you need to install one. Distribute is recommended, but setuptools will serve as well. Distribute is "the standard method for working with Python module distributions". It will manage our package dependencies and upgrades. If you already have one of them, jump to next step. If not, the installation is straighforward: **1.** Download the installer and save it anywhere. It is a single file: http://python-distribute.org/distribute_setup.py **2.** Execute it from the command line (this will require sudo if you are using Linux or a Mac): .. code-block:: text $ python distribute_setup.py If you don't see any error messages, yay, it installed successfully. Let's move forward. For Windows, check the distribute or setuptools documentation. Install a package installer --------------------------- We need a package installer (``pip`` or ``easy_install``) to install and update Python packages. Any will work, but if you don't have one yet, ``pip`` is recommended. Here's how to install it: **1.** Download ``pip`` from PyPi: http://pypi.python.org/pypi/pip **2.** Unpack it and access the unpacked directory using the command line. Then run ``setup.py install`` on that directory (this will require sudo if you are using Linux or a Mac): .. code-block:: text $ python setup.py install That's it. If you don't see any error messages, the ``pip`` command should now be available in your system.