Benutzerspezifische Werkzeuge
Sie sind hier: Startseite Entwicklungsumgebung

Installation

erstellt von Veit Schiele zuletzt verändert: 25.07.2010 19:04
Mitwirkende: Carsten Raddatz
© Veit Schiele 2007–2010

Konzept

Buildout
erlaubt, identische Entwicklungsumgebungen einfach aufzusetzen. Hierzu nutzt buildout die Fähigkeit der setuptools, automatisch Abhängigkeiten aufzulösen und Aktualisierungen durchzuführen (s.a.: Jim Fulton: Buildout Tutorial).
Python Eggs
sind ein Deploymentformat für Python-Packages. Sie enthalten ein setup.py-Skript mit Metainformationen (Lizenz, Abhängigkeiten, etc.) Mit der Python-Bibliothek Setuptools können solche Abhängigkeiten automatisch nachgeladen werden, wobei in Eggs spezifische Versionen angegeben werden können.
Python Package Index PyPI (aka Cheese Shop)
Index mit tausenden von Python-Paketen. Setuptools, easy_install und buildout nutzen diesen Index, um Eggs automatisch zu installieren.
EasyInstall
Python-Modul mit dem der Python Package Index durchsucht werden kann und das die Pakete in die globale Python-Umgebung installiert. Neben Buildout werden wir nur noch ZopeSkel mit EasyInstall installieren, alle weiteren Eggs werden von Buildout in das lokale Buildout-Projekt heruntergeladen, unter anderem um Versionskonflikte zu vermeiden.

Installation

Bevor zc.buildout installiert werden kann, sind folgende Schritte erforderlich:

  1. Installation von Python 2.4.

    Anforderungen

    • bash oder eine andere Shell
    • ein C- und C++-Compiler
    • GNU make
    • Zope setzt das Python-zlib-Modul voraus, das Python beim Kompilieren erstellt sofern zlib.h in /usr/include installiert ist.

    Für diese Anforderungen müssten auf Debian- und Ubuntu-Systemen folgende Pakete installiert werden:

    $ sudo apt-get install build-essential zlib1g-dev
    
    Erstellen und Installieren

    Gehen Sie in das Verzeichnis, in dem Sie die aktuelle Python-Version installieren möchten, z.B. in /opt/. Anschließend laden Sie das Python-Paket herunter und entpacken es:

    # wget http://www.python.org/ftp/python/2.4.6/Python-2.4.6.tgz
    # tar -xvzf Python-2.4.6.tgz
    

    Installieren Sie das Python-2.4.6-Paket:

    # cd Python-2.4.6
    # ./configure --prefix=/opt/python/2.4.6
    
    --prefix

    Python-Installationspfad. Ohne Angabe wird Python in /usr/local erstellt.

    Die Installation kann überprüft werden mit make test. Dabei sollte test_zlib kommentarlos durchlaufen werden.

    Anschließend fahren Sie mit der Installation fort:

    # make
    # make install
    
  2. Dieser Python-Interpreter kann nun in PATH eingetragen werden. Hierzu wird folgendes in die ~/.bashrc (oder auf dem Mac in ~/.bash_profile) eingetragen:

    export PATH=/opt/python/2.4.6/bin:$PATH
    

    Danach kann die Konfiguration neu eingelesen werden mit:

    $ source ~/.bashrc
    
  3. Um ein Buildout-Projekt zu erstellen, wird darüberhinaus noch PasteScript benötigt, ein Werkzeug zum Erstellen eines Projektgerüsts oder eines Python-Pakets aus bestimmten Vorlagen. Für die Zope- und Plone-Entwicklung stellt ZopeSkel solche Vorlagen bereit. PasteScript, ZopeSkel und Buildout lassen sich einfach mit easy_install installieren:

    # mkdir /opt/python/2.4.6/Extensions
    # cd /opt/python/2.4.6/Extensions
    # wget http://peak.telecommunity.com/dist/ez_setup.py
    # python ez_setup.py
    # easy_install ZopeSkel
    # easy_install zc.buildout
    

    Welche Versionen dieser Python-Pakete mit easy_install installiert wurde, steht in der Datei /opt/python/2.4.6/lib/python2.4/site-packages/easy-install.pth.

    Wollen Sie zu einem späteren Zeitpunkt eines dieser Python-Pakete aktualisieren, so können Sie dies mit der Option -U, also z.B.:

    # easy_install -U ZopeSkel
    

    Sie können auch spezifische Versionen angeben, z.B.:

    # easy_install ZopeSkel==2.9
    

    Anmerkung: Verwenden Sie z.B. Subversion 1.5 zusammen mit Buildout und erhalten folgende Fehlermeldung:

    NameError: global name 'log' is not defined
    

    dann benötigen Sie mindestens die dev06-Version der setuptools. Dies erhalten Sie mit:

    # easy_install setuptools==dev06
    

    Falls Sie folgende Fehlermeldung bekommen:

    Running Markdown-2.0.1/setup.py -q bdist_egg --dist-dir /tmp/easy_install-Ne8fpa/Markdown-2.0.1/egg-dist-tmp-HjHi02
    error: Setup script exited with error: Setup script exited with error: Setup script exited with error: Setup script exited with interrupted
    

    dann können Sie zc.buildout auch ohne Abhängigkeiten installieren:

    # easy_install -N zc.buildout
    
Artikelaktionen