[Zope] ZServer and ZPublisher

Amos Latteier amos@aracnet.com
Thu, 18 Feb 1999 12:10:11 -0800


At 09:23 AM 2/18/99 -0000, "Phil Harris" wrote:

>When trying to start ZServer's start.py, after making the relevant changes,
>and compiling in threads etc.  I get this message:
>
>log: adding channel <trigger  at 8134518>
>Traceback (innermost last):
>  File "./start.py", line 19, in ?
>    import zope_handler
>  File "./zope_handler.py", line 121, in ?
>    from PubCore import handle
>  File "./PubCore/__init__.py", line 86, in ?
>    import ZRendezvous
>  File "./PubCore/ZRendezvous.py", line 88, in ?
>    from ZServerPublisher import ZServerPublisher
>  File "./PubCore/ZServerPublisher.py", line 86, in ?
>    from ZPublisher import publish_module
>ImportError: No module named ZPublisher
>
>I looked in the PubCore directory and lo and behold there is no ZPublisher
>module.


ZPublisher is a very important ;-) Zope package. It is not a special part
of ZServer. It should be located in Zope's 'lib/python' directory.

My guess is that your Python path is wrong, and ZPublisher is not being
located.

Here's my current take on a reasonable way to run ZServer:

(BTW, later Zope installation will write these files for you.)

shell script 'start':
#!/bin/sh
PYTHONHOME=/path/to/my/Zope
export PYTHONHOME
cd $PYTHONHOME
bin/python ZServer/start.py

Here are snippets from start.py which makes sure the Python path is
reasonable.

start.py:
...
ZOPE_HOME='/path/to/my/Zope'
...
PID_FILE=os.path.join(ZOPE_HOME,'var/Zope.pid')
LOG_FILE=os.path.join(ZOPE_HOME,'var/ZServer.log')
...
# set python path to include Zope stuff
sys.path.insert(0,os.path.join(ZOPE_HOME,'lib/python'))
...

So, in summary:

* set the PYTHONHOME environment variable
* set Zope's lib/python directory in your Python path

Hope this helps.

-Amos