TransWarp Release 0.2 preview 1 |
Installing PEAK |
|
|
Copyright (C) 2001,2002 by Phillip J. Eby, All rights reserved. |
PEAK Release 0.5 alpha 1 |
This software may be used under the same terms as Zope or Python. |
|
THERE IS ABSOLUTELY NO WARRANTY. Code quality varies from "alpha" |
Copyright (C) 1996-2003 by Phillip J. Eby and Tyler C. Sarna. |
to "experimental pre-alpha". :) |
All rights reserved. This software may be used under the same terms |
|
as Zope or Python. THERE ARE ABSOLUTELY NO WARRANTIES OF ANY KIND. |
|
Code quality varies between modules, from "beta" to "experimental |
|
pre-alpha". :) |
|
|
|
|
SYSTEM REQUIREMENTS |
SYSTEM REQUIREMENTS |
|
|
Basic installation requires Python 2.2, and the Zope 'Interface' package. |
Python 2.2.2 or better is required. Some portions of PEAK may support only |
If you want to run the test suite or use any of TransWarp's frameworks |
POSIX-like and/or Windows operating systems. |
(e.g. database interaction, UML/XMI processing, etc.), you will also need |
|
Aaron Watters' 'kjbuckets' library for your version of Python. See |
Note: if you have installed previous versions of PEAK or TransWarp, be |
"Obtaining and Installing Dependencies" below if you do not already have |
sure to remove them before installing this one. A lot of things have |
the 'Interface' package or the 'kjbuckets' module. |
moved, been removed, or just plain ain't the same. |
|
|
Note: if you have installed previous versions of TransWarp, be sure to |
|
remove them before installing this one. A lot of things have moved, |
|
been removed, or just plain ain't the same. |
|
|
|
|
|
BASIC INSTALLATION |
BASIC INSTALLATION |
|
|
TransWarp is distributed using the now-standard Python 'distutils' protocol. |
PEAK is distributed using the now-standard Python 'distutils' protocol. |
Just unpack the archive, go to the directory containing 'setup.py', and run:: |
Just unpack the archive, go to the directory containing 'setup.py', and run:: |
|
|
python setup.py install |
python setup.py install |
|
|
TransWarp will be installed in the "site-packages" directory of your Python |
PEAK will be installed in the 'site-packages' directory of your Python |
installation. (Unless directed elsewhere; see the "Installing Python |
installation. (Unless directed elsewhere; see the "Installing Python |
Modules" section of the Python manuals for details on customizing |
Modules" section of the Python manuals for details on customizing |
installation locations, etc.). |
installation locations, etc.). |
|
|
|
SCRIPTS |
|
|
|
On operating systems where 'os.name == "posix"', PEAK installs a Python |
|
script named 'peak'. 'peak' is an application bootstrap script that |
|
can invoke any object that is referenceable via the PEAK naming system. |
|
Run the 'peak' script for usage info, or see the 'Bootstrap' class in |
|
'peak.running.commands' for more on how to make objects bootable via 'peak'. |
|
|
OBTAINING AND INSTALLING DEPENDENCIES |
THIRD PARTY SOFTWARE INCLUDED WITH PEAK |
|
|
Aaron Watters' 'kjbuckets' Module |
Aaron Watters' 'kjbuckets' Module |
|
|
See "http://phd.pp.ru/Software/Python/#kjbuckets":http://phd.pp.ru/Software/Python/#kjbuckets |
PEAK now includes a copy of Aaron Watters' 'kjbuckets' module for |
for information on downloading and installing kjbuckets for various |
your convenience, and automatically installs it alongside PEAK in |
platforms and versions of Python. Note that if you're on Windows, all you |
your Python 'site-packages' directory. (Note that this will overwrite |
need to do is copy the '2.2/kjbuckets.pyd' to |
any existing installation of the 'kjbuckets' module.) |
'/Python22/Lib/site-packages/kjbuckets.pyd', and you're done. On other |
|
platforms, install as you would any other Python module, with:: |
'kjbuckets' is copyright Aaron Watters and contributors; please see |
|
the 'src/kjbuckets/COPYRIGHT.txt' file for details of its license. |
|
|
|
The Zope 3 'interface', 'persistence', and 'ZConfig' Packages |
|
|
|
PEAK includes a copy of the following packages from the Zope X3 Milestone 2 |
|
release, and will install them unless Zope X3 is available on 'sys.path' |
|
at the time 'setup.py' is run: |
|
|
|
- 'zope.interface' |
|
|
|
- 'persistence' |
|
|
|
- 'ZConfig' |
|
|
|
These packages are automatically installed alongside PEAK in your |
|
'site-packages' directory, unless you specify an alternate installation |
|
location to 'setup.py'. Note that this will overwrite any existing |
|
installation of these packages. |
|
|
|
To prevent overwriting versions of these packages that were installed |
|
separately, 'setup.py' attempts to detect the presence of Zope X3 by |
|
importing 'zope.component' (which is not distributed with PEAK). If you |
|
have a 'zope.component' package on your 'sys.path' when 'setup.py' runs, |
|
'setup.py' will assume you have a complete Zope X3 installation, and it |
|
will not install any of the Zope packages listed above, in order to avoid |
|
overwriting newer versions from your Zope installation. |
|
|
|
The 'zope.interface', 'persistence', and 'ZConfig' packages are |
|
Copyright Zope Corporation and contributors; please see the 'LICENSE.txt' |
|
files in their directories for details of their licenses. |
|
|
|
The 'fcgiapp' Module |
|
|
|
On platforms where 'os.name=="posix"' (most Unixes and Cygwin), PEAK also |
|
installs the 'fcgiapp' module, which provides support for the FastCGI |
|
protocol. You may experience problems building this module on some |
|
platforms; check the 'fcgiconfig.h' to see if you need to change anything |
|
for your system. Or, you can simply disable it, by editing 'setup.py' |
|
and changing the 'include_fcgiapp' flag to 'False'. |
|
|
|
The 'fcgiapp' module is Copyright Digital Creations, LC (now Zope Corp.); |
|
see the 'fcgiappmodule.c' file for details of its license. In the same |
|
directory are distributed portions of the FastCGI Development Kit, which |
|
is Copyright Open Market, Inc. See the 'LICENSE.TERMS' file in that |
|
directory for details of its license. |
|
|
|
|
|
|
|
TESTING YOUR INSTALLATION |
|
|
|
PEAK comes with a moderately-sized built-in test suite. If you wish to |
|
run it after installation, you can do so like this:: |
|
|
|
python setup.py test |
|
|
|
This will run over 120 tests on various parts of PEAK. If you have |
|
installed everything correctly, 100% of the tests should succeed. If |
|
anything is broken, you will probably be unable to run the tests at all. |
|
|
|
If you'd like to run only a portion of the test suite, you can supply |
|
the '--test-module' or '-m' option to the test command as follows:: |
|
|
|
python setup.py test --test-module=peak.util.tests |
|
|
|
python setup.py test -m peak.tests |
|
|
|
And so on. You can also use 'python setup.py -q test' to make the tests |
|
run more "quietly". |
|
|
|
|
|
|
|
|
|
EMBEDDING PEAK IN AN APPLICATION |
|
|
|
If you are embedding PEAK in an application that you are distributing, |
|
and space is at a premium, there are some modules you may want to omit |
|
from the installation. For example, PEAK's test modules are probably |
|
not useful in such an environment, and unless your application is a |
|
CASE tool, you will probably not need to redistribute the UML and MOF |
|
metamodels. In such situations, you may want to install a copy of PEAK |
|
that does not contain these modules. You can disable installation of |
|
either set of modules by editing 'setup.py', and changing the |
|
'include_tests' and 'include_metamodels' flags, located near the top of |
|
the script. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
python setup.py install |
|
|
|
Note: if you aren't on Windows, and for some reason can't compile the |
|
kjbuckets module, you can as a last resort download this file: |
|
|
|
"http://www.chordate.com/kwParsing/kjbuckets0.py":http://www.chordate.com/kwParsing/kjbuckets0.py |
|
|
|
Rename it to "kjbuckets.py", and place it in your Python path. This runs |
|
slower than the C version, but it'll do in a pinch. |
|
|
|
|
|
The Zope 'Interface' Package |
|
|
|
The easiest place to find a copy of the Interface package is in the |
|
'lib/python' directory of a Zope installation. Just copy it over to your |
|
main Python path, or add the 'lib/python' directory to your Python path. |
|
|
|
Failing that, you can download a copy direct from Zope.org's CVS repository: |
|
|
|
"http://cvs.zope.org/Packages/Interface/Interface.tar.gz?tarball=1":http://cvs.zope.org/Packages/Interface/Interface.tar.gz?tarball=1 |
|
|
|
|
|
TESTING YOUR INSTALLATION |
|
|
|
TransWarp comes with a moderately-sized built-in test suite. If you have |
|
the Python "unittest" module installed in your Python path, you can use |
|
it to run the test suites, like this:: |
|
|
|
python unittest.py TW.tests.test_suite |
|
|
|
This will run about 53 tests on various parts of TransWarp. If you have |
|
installed everything correctly, 100% of the tests should succeed. If |
|
you're missing any needed parts, you will probably be unable to run the |
|
tests at all. |
|
|
|