Zope 3 & Windows

Zope verwendet an einigen Stellen C-Quellcode, was das Vorhandensein eines C-Compilers erfordert. Leider ist das unter Windows nicht der Normalfall. Erschwerend kommt hinzu, dass der Compiler nicht kostenlos zur Verfügung steht.

Folgende Lösungen bieten sich an:

A) Das Betriebssystem wechseln,
alle Unix/Linux-Systeme bringen einen C-Compiler mit. Das empfiehlt sich auch aus einem zweiten Grund: Viele Programme laufen auf Unix/Linux-Servern, deshalb sollte man als Entwickler auch diesen Systemen den Vorrang geben.
B) Wenn Vorschlag A keine Option ist,
dann kann mit dem MingW32 ein freier C-Compiler und damit Zope 3 installiert werden.

Nachfolgend finden Sie die Installationsschritte, die auf Windows XP zu einer erfolgreichen Installation geführt und damit die Umsetzung des z3c-Tutorials möglich gemacht haben.

Installationsschritte zu b

  • Python herunterladen und installieren.
http://www.python.org/ftp/python/2.4.4/python-2.4.4.msi
  • MingW32 herunterladen und installieren.
http://www.mingw.org/download.shtml
  • Path-Variable erweitern, damit der Compiler und die Python-Scripte auch gefunden werden.

    C:\Python24;C:\Python24\Scripts;C:\MinGW\bin;C:\MinGW\libexec\gcc\mingw32\3.4.5;
  • Umgebungsvariable HOME setzen.

    Dafuer verwende ich eine an Linux angelehnte Ordner-Struktur, der kurze Pfade garantiert und keine Leerzeichen in Pfadangaben enthält.

    So vermeide ich eine Reihe von Problemen; es gibt noch genügend andere ;-)

    C:\home

Kontrolle

echo %HOME%
C:\home
echo %PATH%
C:\Python24;C:\Python24\Scripts;C:\MinGW\bin;C:\MinGW\libexec\gcc\mingw32\3.4.5;C:\WINDOWS\system32;C:\WINDOWS;

pydistutils.cfg

[build]
compiler=mingw32

easy_install

Das Programm easy_install erleichtert die Installation zusätzlicher Python-Module und löst meist auch selbstständig die Abhängigkeiten auf. Dazu müssen Sie einmalig das Initialisierungs-Script ez_setup.py aufrufen und finden dann unter C:\Pyhton24\Scripts das Programm easy_install.exe.

zopeproject

Ist ein Beispiel für im egg-Format zur Verfügung gestellte Python-Module, wie sie auf python.org unter der folgenden URL http://pypi.python.org/pypi zu finden sind. Wenn man ein interessantes Projekt gefunden hat, genügt der folgende Befehl, wie in unserem Fall mit zopeproject demonstriert.

C:\Pyhton24\Scripts\easy_install.exe zopeproject

Projekt anlegen

HINWEIS: Alle Pfadangaben als absolute Pfadangaben eingeben! C:\home\sandbox> ist der Prompt und gleichzeitig der aktuelle Ordner, in dem die folgenden Befehle ausgeführt wurden.

C:\home\sandbox>C:\Python24\Scripts\zopeproject.exe zcontact
Enter user (Name of an initial administrator user): admin
Enter passwd (Password for the initial administrator user): admin
Enter eggs_dir (Location where zc.buildout will look for and place packages) ['C:\\home\\buildout-eggs']:

Programmstart

C:\home\sandbox\zcontact>C:\home\sandbox\zcontact\bin\paster.exe serve deploy.ini
------
2008-06-24T13:41:44 WARNING root Developer mode is enabled: this is a security r
isk and should NOT be enabled on production servers. Developer mode can be turne
d off in etc/zope.conf
c:\home\buildout-eggs\zope.configuration-3.4.0-py2.4.egg\zope\configuration\conf
ig.py:197: DeprecationWarning: ZopeSecurityPolicy is deprecated. It has moved to
 zope.securitypolicy.zopepolicy  This reference will be removed somedays
  obj = getattr(mod, oname)
Starting server in PID 1392.
------
2008-06-24T13:41:50 INFO paste.httpserver.ThreadPool Cannot use kill_thread_limi
t as ctypes/killthread is not available
serving on http://127.0.0.1:8080

Jetzt sollten Sie das z3c-Tutorial und andere Zope3-Projekte umsetzen können.