Steve Piercy
2013-03-20 7a8b0d3e9ab3ad73df9ec3110def55c38c527214
Make installation explicit and discrete, combining suggestions from @thesteve0, @tshepang, @mcdonc.
1 files modified
108 ■■■■ changed files
docs/tutorials/wiki2/installation.rst 108 ●●●● patch | view | raw | blame | history
docs/tutorials/wiki2/installation.rst
@@ -5,25 +5,72 @@
Before You Begin
================
Installation Requirements
-------------------------
Follow the steps in :ref:`installing_chapter`, but name the virtualenv
directory ``pyramidtut``.  Following these steps will ensure you have met the
following requirements:
This tutorial assumes that you have already followed the steps in
:ref:`installing_chapter`, thereby satisfying the following
requirements.
* Python interpreter is installed on your operating system
* :term:`setuptools` or :term:`distribute` is installed
* :term:`virtualenv` is installed
* a virtual Python environment named ``pyramidtut`` has been created
* Pyramid is installed
UNIX Requirements
-----------------
Create and Use a Virtual Python Environment
-------------------------------------------
#. Install SQLite3 and its development packages if you don't already
   have them installed.  Usually this is via your system's package
   manager.  On a Debian system, this would be:
Next let's create a `virtualenv` workspace for our project.  We will
use the `VENV` environment variable instead of absolute path of the
virtual environment.
**On UNIX:**
.. code-block:: text
   $ export VENV=~/pyramidtut
   $ virtualenv --no-site-packages $VENV
   New python executable in /home/foo/env/bin/python
   Installing setuptools.............done.
**On Windows:**
Set the `VENV` environment variable.
.. code-block:: text
   c:\> set VENV=c:\pyramidtut
Versions of Python use different paths, so you will need to adjust the
path to the command for your Python version.
Python 2.7:
.. code-block:: text
   c:\> c:\Python27\Scripts\virtualenv --no-site-packages %VENV%
Python 3.2:
.. code-block:: text
   c:\> c:\Python32\Scripts\virtualenv --no-site-packages %VENV%
Install Pyramid Into the Virtual Python Environment
---------------------------------------------------
**On UNIX:**
.. code-block:: text
   $ $VENV/bin/easy_install pyramid
**On Windows**
.. code-block:: text
   c:\env> %VENV%\Scripts\easy_install pyramid
SQLite3
-------
If you used a package manager to install your Python, or if you compiled your Python from source, then you must install SQLite3 and its development packages.  If you downloaded your Python from python.org  On a Debian system, this would be:
   .. code-block:: text
@@ -49,10 +96,20 @@
Making a Project
================
Your next step is to create a project.  For this tutorial, we will use the
:term:`scaffold` named ``alchemy``, which generates an application
that uses :term:`SQLAlchemy` and :term:`URL dispatch`.  :app:`Pyramid`
supplies a variety of scaffolds to generate sample projects.
Your next step is to create a project.  For this tutorial we will use
the :term:`scaffold` named ``alchemy`` which generates an application
that uses :term:`SQLAlchemy` and :term:`URL dispatch`.
:app:`Pyramid` supplies a variety of scaffolds to generate sample
projects. We will use `pcreate`—a script that comes with Pyramid to
quickly and easily generate scaffolds usually with a single command—to
create the scaffold for our project.
By passing in `alchemy` into the `pcreate` command, the script creates
the files needed to use SQLAlchemy. By passing in our application name
`tutorial`, the script inserts that application name into all the
required files. For example, `pcreate` creates the
``initialize_tutorial_db`` in the ``pyramidtut/bin`` directory.
The below instructions assume your current working directory is the
"virtualenv" named "pyramidtut".
@@ -75,18 +132,10 @@
   startup problems, try putting both the virtualenv and the project
   into directories that do not contain spaces in their paths.
`pcreate` is a script that comes with Pyramid that helps by creating and organizing files
needed as part of a Pyramid project. By passing in `alchemy`, we are asking the script to
create the files needed to use SQLAlchemy. By passing in our app name `tutorial`, the script
places that application name in all the different files required. For example, the ``initialize_tutorial_db``
that is in the ``pyramidtut/bin`` directory was created by `pcreate`.
.. _installing_project_in_dev_mode:
Installing the Project in "Development Mode"
============================================
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
@@ -108,8 +157,9 @@
   c:\pyramidtut> cd tutorial
   c:\pyramidtut\tutorial> %VENV%\Scripts\python setup.py develop
Success executing this command will end with a line to the console something
like::
The console will show `setup.py` checking for packages and installing
missing packages. Success executing this command will show a line like
the following::
   Finished processing dependencies for tutorial==0.0