Diff of /doc/source/about_pyke/installing_pyke.txt [132ab2] .. [73803c] Maximize Restore

  Switch to unified view

a/doc/source/about_pyke/installing_pyke.txt b/doc/source/about_pyke/installing_pyke.txt
1
.. $Id$
1
.. $Id$
2
.. 
2
.. 
3
.. Copyright © 2007-2008 Bruce Frederiksen
3
.. Copyright © 2007-2009 Bruce Frederiksen
4
.. 
4
.. 
5
.. Permission is hereby granted, free of charge, to any person obtaining a copy
5
.. Permission is hereby granted, free of charge, to any person obtaining a copy
6
.. of this software and associated documentation files (the "Software"), to deal
6
.. of this software and associated documentation files (the "Software"), to deal
7
.. in the Software without restriction, including without limitation the rights
7
.. in the Software without restriction, including without limitation the rights
8
.. to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8
.. to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
...
...
43
Index to This Page
43
Index to This Page
44
=======================
44
=======================
45
45
46
* Licensing_
46
* Licensing_
47
* `System Requirements`_
47
* `System Requirements`_
48
49
  * `Other required packages`_
50
48
* Installation_
51
* Installation_
49
52
50
  * `Installing the Executables`_
51
  * `Installing the Sources`_
53
  * `Installing the Sources`_
52
  * `Installing the Examples`_
54
55
    * `Examples`_
56
53
  * `Installing the HTML Documentation`_
57
  * `Installing the HTML Documentation`_
54
58
55
* `Mercurial Repositories`_
59
* `Mercurial Repositories`_
56
60
57
  * `Repository Directory Structure`_
61
  * `Repository Directory Structure`_
...
...
85
89
86
System Requirements
90
System Requirements
87
====================
91
====================
88
92
89
Pyke is 100% Python, so it should run on any platform supported by Python.
93
Pyke is 100% Python, so it should run on any platform supported by Python.
90
So all you'll need is `Python`_ 2.5 or 2.6.
94
So all you'll need is `Python`_ 2.5, 2.6 or 3.1.
95
96
Other required packages
97
-----------------------
98
99
No other packages are required to develop, run and distribute an application
100
using Pyke.  But there are package requirements to do the following additional
101
things:
102
103
--------------------------------+------------------+------------------+
104
| If you want to                 | you also need    | minimum version  |
105
================================+==================+==================+
106
| run the web_framework example  | HTMLTemplate_    | 1.5              |
107
--------------------------------+------------------+------------------+
108
| run the unit tests             | `doctest-tools`_ | 1.0a1            |
109
--------------------------------+------------------+------------------+
110
| rebuild the html documentation | rest2web_        | 0.5              |
111
                                +------------------+------------------+
112
|                                | docutils_        | 0.5              |
113
--------------------------------+------------------+------------------+
114
115
If the docutils package is not part of your standard Python installation,
116
there is probably a package for it in the package index for your Linux
117
distribution.
118
119
All of the other packages can be installed using easy_install_.  For example:
120
121
    $ sudo easy_install HTMLTemplate
91
122
92
123
93
Installation
124
Installation
94
==================
125
==================
95
126
96
Installing the Executables
97
98
99
Pyke is registered on pypi_, so once you have `Python`_ 2.5 or 2.6 with
100
easy_install_ you can just type (as root)::
101
102
    # easy_install pyke
103
104
Installing the Sources
127
Installing the Sources
105
------------------------
128
------------------------
106
129
107
The source code for the latest release can be found on the `Pyke project
130
The source code for the latest release can be found on the `Pyke project
108
download page`_ as ``pyke-<release>.tar.gz``.
131
download page`_ as ``pyke-<release>.zip`` (for Python2) and
132
``pyke3.1-<release>.zip`` (for Python3).  After unzipping these, go into the
133
directory and:
109
134
110
If you want the latest developer version, read `Mercurial Repositories`_,
135
    $ python setup.py build
111
below.
136
    $ sudo python setup.py install
112
137
113
Installing the Examples
138
The sources include a complete copy of the project directory, including the
114
139
documentation, unit tests, and examples.
140
141
If you want to clone the source code repository to contribute to the project
142
development, or to use the latest developer version, read
143
`Mercurial Repositories`_, below.
144
145
Examples
146
~~~~~~~~
115
147
116
There are several examples that are contained in the source directory.
148
There are several examples that are contained in the source directory.
117
There is a README file for each one that explains how to run it.
149
There is a README file for each one that explains how to run it.
118
150
119
These are in the source directory in the ``examples`` subdirectory.
151
These are in the source directory in the ``examples`` subdirectory.
120
To download just the examples (for example, if you used easy_install to
121
install Pyke), download the ``pyke_examples-<release>.tar.gz`` file.
122
152
123
See also Examples_.
153
See also Examples_.
124
154
125
Installing the HTML Documentation
155
Installing the HTML Documentation
126
----------------------------------------
156
----------------------------------------
127
157
128
If you'd like to view this html documentation from you hard drive,
158
If you'd like to view this html documentation directly from you hard drive,
129
it is in the source directory (doc/html), or you can download just the
159
you can download ``pyke_doc_html-<release>.zip`` from the
130
documentation itself as ``pyke_doc_html-<release>.zip`` file from the
131
`Pyke project download page`_.
160
`Pyke project download page`_.
132
161
133
162
134
Mercurial Repositories
163
Mercurial Repositories
135
======================
164
======================
...
...
137
With mercurial_, you clone the entire repository locally on your computer.
166
With mercurial_, you clone the entire repository locally on your computer.
138
Then you can make changes and commit those changes to your local repository.
167
Then you can make changes and commit those changes to your local repository.
139
If you think those changes might be interesting to everybody, make your local
168
If you think those changes might be interesting to everybody, make your local
140
repository (or a clone of it) publically available (either on your own server,
169
repository (or a clone of it) publically available (either on your own server,
141
or on one of the `mercurial hosting sites`_) and send me an email.  I will
170
or on one of the `mercurial hosting sites`_) and send me an email.  I will
142
examine your changes and pull them into the master repository on sourceforge.
171
pull your changes, examine them, and push them to the master repository on
172
sourceforge.
143
173
174
There are three repositories on sourceforge:
175
176
release_1
177
  Use this for bug fixes, code and documentation cleanup, and anything else
178
  that could go into a point release.
179
180
pyke
181
  Use this for major new features.  I merge the changes made in release_1 into
182
  the pyke repository (but not the other way around).
183
184
pre_2to3
185
  Normally I merge changes from the pyke repository into pre_2to3 so that
186
  nothing needs to be done in this repository.  Changes would only occur here
187
  if they only pertain to the Python3 version of Pyke.  In order to minimize
188
  merge conflicts, the sources are maintained in this repository prior to
189
  running the 2to3_ tool on them.  You can run the run_pre_test shell script
190
  to:
191
  
192
  * clone the local repository to a ../pre_test repository
193
  * run the run_2to3 script in ../pre_test
194
  * run testall -3.1 (unit tests) in ../pre_test.  (This requires the
195
    doctest-tools_ package, "easy_install doctest-tools").
196
  * run python setup.py sdist --formats zip
197
144
To clone the development version of the entire project (including the
198
To clone the development version of the project into a directory called
145
examples_ and this documentation) into a directory called *foobar*::
199
*foobar*::
146
200
147
    $ hg clone http://pyke.hg.sourceforge.net:8000/hgroot/pyke/pyke foobar
201
    $ hg clone http://pyke.hg.sourceforge.net:8000/hgroot/pyke/pyke foobar
148
202
149
Or to clone the latest release 1 branch::
203
Or to clone the latest release 1 branch::
150
204
...
...
154
code (bug fixes, code formatting, comments, documentation) that won't break
208
code (bug fixes, code formatting, comments, documentation) that won't break
155
existing programs and can go into the next point release.
209
existing programs and can go into the next point release.
156
210
157
Use the *pyke* repository for new features that will go into the next major
211
Use the *pyke* repository for new features that will go into the next major
158
release.  I merge all the changes done in the release_1 repository into the
212
release.  I merge all the changes done in the release_1 repository into the
159
pyke repository.
213
pyke repository (but not the other way around).
160
214
161
Finally, use the *pre_2to3* repository for any work that is specific to the
215
Finally, use the *pre_2to3* repository for any work that is specific to the
162
Python3 version of PyKE.  Just don't run 2to3 in directly in your working
216
Python3 version of PyKE.  Just don't run 2to3 directly in your working
163
directory because it will change all of the .py files and we don't want those
217
directory because it will change all of the .py files and we don't want those
164
changes committed!  I merge all the changes done in the pyke repository
218
changes committed!  I merge all the changes done in the pyke repository
165
into the pre_2to3 repository.
219
into the pre_2to3 repository.
166
220
167
Repository Directory Structure
221
Repository Directory Structure
...
...
193
The ``doc/html`` directory in mercurial_ contains all of these documents.
247
The ``doc/html`` directory in mercurial_ contains all of these documents.
194
You can browse these on your hard drive if you'd like.
248
You can browse these on your hard drive if you'd like.
195
249
196
If you want to regenerate these documents, you'll also need:
250
If you want to regenerate these documents, you'll also need:
197
251
198
* Rest2web_, which requires:
252
* rest2web_, which requires:
199
* Docutils_
253
* docutils_
200
254
201
The sources for the documentation are in ``doc/source``.
255
The sources for the documentation are in ``doc/source``.
202
256
203
To regenerate the documentation, in the ``doc/source`` directory run::
257
To regenerate the documentation, in the ``doc/source`` directory run::
204
258
...
...
212
   - except for those in ``doc/html/stylesheets`` and ``doc/html/images``.
266
   - except for those in ``doc/html/stylesheets`` and ``doc/html/images``.
213
267
214
#. Then strips all of the hyperlink references from the \*.txt files.
268
#. Then strips all of the hyperlink references from the \*.txt files.
215
269
216
I've gone ahead and placed the generated html files in mercurial so that
270
I've gone ahead and placed the generated html files in mercurial so that
217
you can browse the documentation without having to run ``bin/gen_html``.
271
you can browse the documentation locally without having to run
272
``bin/gen_html``.
218
273
219
274