Skip to content

Commit cd137b8

Browse files
author
Greg Turnquist
committed
SESPRINGPYTHONPY-161: Added installation steps to documentation.
1 parent 32ecd79 commit cd137b8

File tree

1 file changed

+37
-1
lines changed

1 file changed

+37
-1
lines changed

docs/sphinx/source/overview.rst

+37-1
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,42 @@ experiment and develop patches.
143143

144144
You can browse the code at https://fisheye.springsource.org/browse/se-springpython-py.
145145

146+
Installation
147+
++++++++++++
148+
149+
This section is focused on helping you set up Spring Python.
150+
151+
#. Go to `Spring's download site for Spring Python <http://www.springsource.com/download/community?project=Spring%20Python>`_.
152+
#. Click on **Spring Python**.
153+
#. Download **springpython-[release].tar.gz** to get the core library.
154+
#. Unpack the tarball, and go to the directory containing setup.py. (NOTE: This has been tested on Mac OSX 10.5/10.6, and Ubuntu Linux 9.04+)
155+
#. Type **python setup.py install** to install Spring Python. (NOTE: You may need administrative power to do this!)
156+
157+
This installs the core library of Spring Python. Version 1.2 supports Python 2.6+ (but not Python 3).
158+
159+
To use other features like CherryPy and Pyro, you need to execute some of the following extra steps.
160+
161+
#. Go to setuptools and follow the steps for your platform to install setuptools.
162+
#. Install CherryPy for web app development by typing **easy_install cherrypy**. This should install CherryPy 3.2.
163+
#. Install Pyro for RPC functionality by typing **easy_install pyro**. This should install Pyro (not Pyro 3).
164+
#. Install PyYAML if you want the YAML-based IoC configuratin options by typing **easy_install pyyaml**.
165+
#. Install MySQLdb by typing **easy_install mysql-python**.
166+
#. Install PySqlite by typing **easy_install pysqlite**.
167+
#. Install ElementTree if you are using a version of Python that doesn't incluee it by default by typing **easy_install elementtree**.
168+
169+
You may not need all of these libraries. Determine what you need and then install it.
170+
171+
Another feature which is very useful, is to install everything (including Spring Python) inside a virtual environment. You can read A Primer on virtualenv to get an introduction to virtualenv. After installing easy_install, you simply type **easy_install virtualenv** to install this tool. From there, you can create an virtual installation by typing **virtualenv --no-site-packages name_of_your_folder**. On UNIX systems, to activate it, type **. name_of_your_folder/bin/activate**. The virtualenv will manipulate your path settings and point you to a different location of the python executable, a different easy_install and pip, and a different PYTHON_PATH. Essentially, python setup.py foobar will install into this folder you just created instead of the system version. For isolation, this is a highly recommended way to install everything.
172+
173+
.. note::
174+
175+
**Using easy_install and pip vs. OS package installation tools**
176+
177+
A lot of operating systems, like Ubuntu Linux, offer the same python libraries through tools like
178+
RPM, APT, etc. Due to personal experience, it is recommended to NOT use these when it comes to using
179+
Spring Python. Using OS package management can result in library upgrades when performing system upgrades.
180+
Using virtualenv is the best way to control the version of library installed and also shield your system from system upgrades.
181+
146182

147183
Licensing
148184
+++++++++
@@ -233,4 +269,4 @@ To keep things up-to-date, we need to deprecate code from time to time.
233269
Python has built in functionality to put warnings into certain sections of
234270
code, so that if you import a deprecated module, you will be properly warned.
235271
With each major release (1.0, 2.0, 3.0, etc.), the Spring Python team has the
236-
option to remove any and all deprecated code.
272+
option to remove any and all deprecated code.

0 commit comments

Comments
 (0)