• Preparations

  last modified March 8, 2007 by philikon

To ensure things go smoothly during the training, please prepare a few things beforehand:

  1. This training focuses on Zope 3. Therefore if you're relatively new to Python or don't have much Python experience yet, please freshen up on it. The Python tutorial is a great place to start.

    I would like everyone to be familiar not only with the basic Python datastructures, the concept of Python packages and modules, etc, but also with things like
    • the most common APIs in Python (list API, mapping/dictionary API, etc.)
    • functions/methods with arbitrary number of parameters
    • method and function decorators
    • unicode <---> 8bit string + encoding

    You don't have to know it all by heart, but when you see me using it, you should know what's going on. Like my high school physics teacher always said, "Either you know it or you know where to look it up."

  2. The way the training is designed is that you'll be getting hands-on experience 90% of the time. This means you'll be typing code as well as running Python and Zope on your computer almost all the time. To ensure you're as comfortable as possible during the training, make sure

    • you bring a computer that you're familiar with (I've had people come in with their boss's laptop that they never used and found out was broken or unusable in some way, or was running an operating system that they weren't comfortable with)
    • your system is set up for development. That means you should have your favourite editor/IDE installed and ready to go for the training.
  3. Lastly, please install the following software before coming to the training:

    • a C compiler if on Linux or Mac (on the Mac, install XCode). Windows users can use pre-packaged binaries, so they don't need a C compiler.
    • Python 2.4.3 or 2.4.4
      • on Windows, simply use the MSI package from http://python.org
      • on Linux, you can use your distribution's package. Just make sure you have the Python headers installed as well (python2.4-dev package on Debian/Ubuntu). If you compile it from source, make sure you have zlib support enabled ("import zlib").
      • on the Mac, you can use a binary distribution from PythonMac, the one from MacPorts (formerly known as DarwinPorts) or compile from source (make sure you have zlib support enabled, like on Linux).
    • the following Python packages (numbers in parentheses designate the recommended versions that are known to work): Your Linux distribution will probably have all of those pre-packaged. Some of those (pysqlite, sqlite3, reportalb) are also available for the Mac through MacPorts. Just make sure that you've got reasonably recent versions of all packages installed (especially SQLAlchemy).
    • a subversion client for checking out source code from svn.zope.org