summaryrefslogtreecommitdiff
path: root/docs/tutorials/wiki/installation.rst
diff options
context:
space:
mode:
Diffstat (limited to 'docs/tutorials/wiki/installation.rst')
-rw-r--r--docs/tutorials/wiki/installation.rst254
1 files changed, 254 insertions, 0 deletions
diff --git a/docs/tutorials/wiki/installation.rst b/docs/tutorials/wiki/installation.rst
new file mode 100644
index 000000000..237abe7c3
--- /dev/null
+++ b/docs/tutorials/wiki/installation.rst
@@ -0,0 +1,254 @@
+============
+Installation
+============
+
+For the most part, the installation process for this tutorial
+duplicates the steps described in :ref:`installing_chapter` and
+:ref:`project_narr`, however it also explains how to install
+additional libraries for tutorial purposes.
+
+Preparation
+========================
+
+Please take the following steps to prepare for the tutorial. The
+steps to prepare for the tutorial are slightly different depending on
+whether you're using UNIX or Windows.
+
+Preparation, UNIX
+-----------------
+
+#. If you don't already have a Python 2.6 interpreter installed on
+ your system, obtain, install, or find `Python 2.6
+ <http://python.org/download/releases/2.6.6/>`_ for your system.
+
+#. Install the latest `setuptools` into the Python you
+ obtained/installed/found in the step above: download `ez_setup.py
+ <http://peak.telecommunity.com/dist/ez_setup.py>`_ and run it using
+ the ``python`` interpreter of your Python 2.6 installation:
+
+ .. code-block:: bash
+
+ $ /path/to/my/Python-2.6/bin/python ez_setup.py
+
+#. Use that Python's `bin/easy_install` to install `virtualenv`:
+
+ .. code-block:: bash
+
+ $ /path/to/my/Python-2.6/bin/easy_install virtualenv
+
+#. Use that Python's virtualenv to make a workspace:
+
+ .. code-block:: bash
+
+ $ path/to/my/Python-2.6/bin/virtualenv --no-site-packages \
+ bigfntut
+
+#. Switch to the ``bigfntut`` directory:
+
+ .. code-block:: bash
+
+ $ cd bigfntut
+
+#. (Optional) Consider using ``source bin/activate`` to make your
+ shell environment wired to use the virtualenv.
+
+#. Use ``easy_install`` to get :mod:`pyramid` and its direct
+ dependencies installed:
+
+ .. code-block:: bash
+
+ $ bin/easy_install pyramid
+
+#. Use ``easy_install`` to install ``docutils``, ``repoze.tm``,
+ ``repoze.zodbconn``, ``nose`` and ``coverage``:
+
+ .. code-block:: bash
+
+ $ bin/easy_install docutils repoze.tm repoze.zodbconn \
+ nose coverage
+
+Preparation, Windows
+--------------------
+
+#. Install, or find `Python 2.6
+ <http://python.org/download/releases/2.6.6/>`_ for your system.
+
+#. Install the latest `setuptools` into the Python you
+ obtained/installed/found in the step above: download `ez_setup.py
+ <http://peak.telecommunity.com/dist/ez_setup.py>`_ and run it using
+ the ``python`` interpreter of your Python 2.6 installation using a
+ command prompt:
+
+ .. code-block:: bat
+
+ c:\> c:\Python26\python ez_setup.py
+
+#. Use that Python's `bin/easy_install` to install `virtualenv`:
+
+ .. code-block:: bat
+
+ c:\> c:\Python26\Scripts\easy_install virtualenv
+
+#. Use that Python's virtualenv to make a workspace:
+
+ .. code-block:: bat
+
+ c:\> c:\Python26\Scripts\virtualenv --no-site-packages bigfntut
+
+#. Switch to the ``bigfntut`` directory:
+
+ .. code-block:: bat
+
+ c:\> cd bigfntut
+
+#. (Optional) Consider using ``bin\activate.bat`` to make your shell
+ environment wired to use the virtualenv.
+
+#. Use ``easy_install`` to get :mod:`pyramid` and its direct
+ dependencies installed:
+
+ .. code-block:: bat
+
+ c:\bigfntut> Scripts\easy_install pyramid
+
+#. Use ``easy_install`` to install ``docutils``, ``repoze.tm``,
+ ``repoze.zodbconn``, ``nose`` and ``coverage``:
+
+ .. code-block:: bat
+
+ c:\bigfntut> Scripts\easy_install docutils repoze.tm \
+ repoze.zodbconn nose coverage
+
+.. _making_a_project:
+
+Making a Project
+================
+
+Your next step is to create a project. :mod:`pyramid` supplies a
+variety of templates to generate sample projects. For this tutorial,
+we will use the :term:`ZODB` -oriented template named ``pyramid_zodb``.
+
+The below instructions assume your current working directory is the
+"virtualenv" named "bigfntut".
+
+On UNIX:
+
+.. code-block:: bash
+
+ $ bin/paster create -t pyramid_zodb tutorial
+
+On Windows:
+
+.. code-block:: bat
+
+ c:\bigfntut> Scripts\paster create -t pyramid_zodb tutorial
+
+.. note:: If you are using Windows, the ``pyramid_zodb`` Paster template
+ doesn't currently deal gracefully with installation into a location
+ that contains spaces in the path. If you experience startup
+ problems, try putting both the virtualenv and the project into
+ directories that do not contain spaces in their paths.
+
+Installing the Project in "Development Mode"
+============================================
+
+In order to do development on the project easily, you must "register"
+the project as a development egg in your workspace using the
+``setup.py develop`` command. In order to do so, cd to the "tutorial"
+directory you created in :ref:`making_a_project`, and run the
+"setup.py develop" command using virtualenv Python interpreter.
+
+On UNIX:
+
+.. code-block:: bash
+
+ $ cd tutorial
+ $ ../bin/python setup.py develop
+
+On Windows:
+
+.. code-block:: bat
+
+ C:\bigfntut> cd tutorial
+ C:\bigfntut\tutorial> ..\Scripts\python setup.py develop
+
+.. _running_tests:
+
+Running the Tests
+=================
+
+After you've installed the project in development mode, you may run
+the tests for the project.
+
+On UNIX:
+
+.. code-block:: bash
+
+ $ ../bin/python setup.py test -q
+
+On Windows:
+
+.. code-block:: bat
+
+ c:\bigfntut\tutorial> ..\Scripts\python setup.py test -q
+
+Starting the Application
+========================
+
+Start the application.
+
+On UNIX:
+
+.. code-block:: bash
+
+ $ ../bin/paster serve tutorial.ini --reload
+
+On Windows:
+
+.. code-block:: bat
+
+ c:\bifgfntut\tutorial> ..\Scripts\paster serve tutorial.ini --reload
+
+Exposing Test Coverage Information
+==================================
+
+You can run the ``nosetests`` command to see test coverage
+information. This runs the tests in the same way that ``setup.py
+test`` does but provides additional "coverage" information, exposing
+which lines of your project are "covered" (or not covered) by the
+tests.
+
+On UNIX:
+
+.. code-block:: bash
+
+ $ ../bin/nosetests --cover-package=tutorial --cover-erase --with-coverage
+
+On Windows:
+
+.. code-block:: bat
+
+ c:\bigfntut\tutorial> ..\Scripts\nosetests --cover-package=tutorial \
+ --cover-erase --with-coverage
+
+Looks like the code in the ``pyramid_zodb`` template for ZODB projects is
+missing some test coverage, particularly in the file named
+``models.py``.
+
+Visit the Application in a Browser
+==================================
+
+In a browser, visit `http://localhost:6543/ <http://localhost:6543>`_.
+You will see the generated application's default page.
+
+Decisions the ``pyramid_zodb`` Template Has Made For You
+========================================================
+
+Creating a project using the ``pyramid_zodb`` template makes the
+assumption that you are willing to use :term:`ZODB` as persistent
+storage and :term:`traversal` to map URLs to code. :mod:`pyramid`
+supports any persistent storage mechanism (e.g. a SQL database or
+filesystem files, etc). It also supports an additional mechanism to
+map URLs to code (:term:`URL dispatch`). However, for the purposes of
+this tutorial, we'll only be using traversal and ZODB.
+