Installing PEAK PEAK Release 0.5 alpha 1 Copyright (C) 1996-2003 by Phillip J. Eby and Tyler C. Sarna. 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 Python 2.2.2 or better is required. Some portions of PEAK may support only POSIX-like and/or Windows operating systems. Installation from a source distribution requires a C compiler that works with Python. If you are modifying the source of PEAK extension modules, you will need 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. In general, it is best to uninstall previous versions of PEAK before installing new ones, since some modules may have moved or been renamed. BASIC INSTALLATION PEAK is distributed using the now-standard Python 'distutils' utilities. Just unpack the archive, go to the directory containing 'setup.py', and run:: python setup.py install PEAK will be installed in the 'site-packages' directory of your Python installation. (Unless directed elsewhere; see the "Installing Python Modules" section of the Python manuals for details on customizing 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 THIRD PARTY SOFTWARE INCLUDED WITH PEAK Aaron Watters' 'kjbuckets' Module PEAK now includes a copy of Aaron Watters' 'kjbuckets' module for your convenience, and automatically installs it alongside PEAK in your Python 'site-packages' directory. (Note that this will overwrite any existing installation of the 'kjbuckets' module.) '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.