Installing PEAK |
Installing PEAK |
|
|
PEAK Release 0.5 alpha 1 |
PEAK Release 0.5 alpha 2 |
|
|
Copyright (C) 1996-2002 by Phillip J. Eby and Tyler C. Sarna. |
Copyright (C) 1996-2003 by Phillip J. Eby and Tyler C. Sarna. |
All rights reserved. This software may be used under the same terms |
All rights reserved. This software may be used under the same terms |
as Zope or Python. THERE ARE ABSOLUTELY NO WARRANTIES OF ANY KIND. |
as Zope or Python. THERE ARE ABSOLUTELY NO WARRANTIES OF ANY KIND. |
Code quality varies between modules, from "beta" to "experimental |
Code quality varies between modules, from "beta" to "experimental |
|
|
SYSTEM REQUIREMENTS |
SYSTEM REQUIREMENTS |
|
|
Basic installation requires Python 2.2.1, 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 PEAK's frameworks |
POSIX-like and/or Windows operating systems. Installation from a source |
(e.g. database interaction, UML/XMI processing, etc.), you will also need |
distribution requires a C compiler that works with Python. |
Aaron Watters' 'kjbuckets' library for your version of Python. See |
|
"Obtaining and Installing Dependencies" below if you do not already have |
If you are modifying the source of PEAK extension modules, you will need |
the 'Interface' package or the 'kjbuckets' module. |
Pyrex version 0.7.2. You do not need Pyrex if you are just installing |
|
PEAK as-is, but if you *do* have Pyrex installed, it must be version 0.7.2. |
Note: if you have installed previous versions of PEAK or TransWarp, be |
|
sure to remove them before installing this one. A lot of things have |
In general, it is best to uninstall previous versions of PEAK before |
moved, been removed, or just plain ain't the same. |
installing new ones, since some modules may have moved or been renamed. |
|
Also, if you have Zope X3 installed on your Python path, you should ensure |
|
that it is an up-to-date CVS version: "Milestone 2" is no longer supported. |
|
|
BASIC INSTALLATION |
BASIC INSTALLATION |
|
|
PEAK is distributed using the now-standard Python 'distutils' protocol. |
PEAK is distributed using the now-standard Python 'distutils' utilities. |
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 |
|
|
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.). |
|
|
|
(Note: for the Win32 installer release, just run the .exe file.) |
|
|
|
SCRIPTS |
|
|
|
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'. |
|
|
|
Note that on Windows, you cannot invoke the 'peak' script directly. Instead |
|
you must run it like this:: |
|
|
|
python C:\Python22\Scripts\peak |
|
|
|
followed by the appropriate arguments. You should of course substitute the |
|
correct path to your Python installation's "scripts" directory. |
|
|
|
|
|
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:: |
|
|
|
peak 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 |
|
a specific test suite on the command line as follows:: |
|
|
|
peak test peak.util.tests.test_suite |
|
|
|
For more options, run 'peak test --help'. |
|
|
|
If you've installed using the Windows binary installer, you can run the |
|
tests like this:: |
|
|
|
python C:\Python22\Scripts\peak test |
|
|
OBTAINING AND INSTALLING DEPENDENCIES |
|
|
THIRD PARTY SOFTWARE INCLUDED WITH PEAK |
|
|
Aaron Watters' 'kjbuckets' Module |
Aaron Watters' 'kjbuckets' Module |
|
|
See "http://gadfly.sf.net/":http://gadfly.sf.net/ for information on |
PEAK now includes a copy of Aaron Watters' 'kjbuckets' module for |
downloading and installing kjbuckets for various platforms and versions |
your convenience, and automatically installs it alongside PEAK in |
of Python. For the installation, you only need to follow the part |
your Python 'site-packages' directory. (Note that this will overwrite |
of the installation which is described as "If you wish to speed up gadfly, |
any existing installation of the 'kjbuckets' module.) |
go to the kjbuckets directory and...". Even if you choose to install |
|
the entire gadfly package, you *must* be sure to do this extra step, or |
|
the kjbuckets module will not be installed. |
|
|
|
The Zope 'Interface' Package |
|
|
|
PEAK now includes a (bug-fixed) version of the Zope 'Interface' package. |
|
It's automatically installed alongside PEAK in your 'site-packages' |
|
directory. (Note that this will overwrite any existing installation of |
|
the 'Interface' package.) The 'Interface' package is copyright Zope |
|
Corporation and Contributors; please see the 'src/Interface/LICENSE.txt' |
|
file for details of its license. Modifications were made to this |
|
distribution of the 'Interface' package to fix the "metaclass implements" |
|
bug documented at: |
|
|
|
"http://collector.zope.org/Zope3-dev/82":http://collector.zope.org/Zope3-dev/82 |
'kjbuckets' is copyright Aaron Watters and contributors; please see |
|
the 'src/kjbuckets/COPYRIGHT.txt' file for details of its license. |
|
|
|
|
|
The Zope 3 '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: |
|
|
|
- '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 '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. |
|
|
|
|
|
|
|
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. |
|
|
|
|
|
|
|
|
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 about 75 tests on various parts of PEAK. 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. |
|
|
|
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.api.tests |
|
|
|
And so on. You can also use 'python setup.py -q test' to make the tests |
|
run more "quietly". |
|
|
|