ZODB and Zope on one Linux machine, how?

R

Rene Pijlman

I have a productional Linux web server with a Python/Zope/Plone. Now I'd
like to install a non-Zope Python/ZODB application on the same server.
What is the recommended way of doing that?

Option 1:
Install ZODB in the Python installation in the usual way. Should I expect
problems when I install and run zope with that Python installation?

Option 2:
Do not install ZODB in the Python installation. Install Zope in the usual
way. Add Zope's ZODB modules to the application's PYTHONPATH. But this may
cause upgrade/compatibility problems with the application when Zope and
the ZODB in it are upgraded.

Option 3:
Use separate Python installations for Zope and the application. Install
ZODB in the application's Python installation, not in Zope's.

Option 4:
?

I'm using:
- Python 2.3.5
- ZODB 3.2.10 (same as in Zope 2.7.8)
- Zope 2.7.8
- Plone 2.1.1
.... all built from source on Debian Woody.

Thank you very much in advance.
 
R

Rene Pijlman

Rene Pijlman:
Option 3:
Use separate Python installations for Zope and the application. Install
ZODB in the application's Python installation, not in Zope's.

For the record, on zodb-dev I got this advice: "This is the only sane
option".
 
T

Terry Hancock

Option 1:
Install ZODB in the Python installation in the usual way.
Should I expect problems when I install and run zope with
that Python installation?

I think this should work, actually.

ZODB is just like other databases in that each application
is going to make its own database. That is, there is a
different top-level object. At least I think this is true.
Option 3:
Use separate Python installations for Zope and the
application. Install ZODB in the application's Python
installation, not in Zope's.

If they don't have to interact with each other, this may be
safest. I don't think you really want to make calls from
one into the other, though, if they are different Python
installations (I suppose it should be possible, but I'd be a
little afraid of problems cropping up).
I'm using:
- Python 2.3.5
- ZODB 3.2.10 (same as in Zope 2.7.8)
- Zope 2.7.8
- Plone 2.1.1
... all built from source on Debian Woody.

The first option, if it works, would require that the ZODB
used by your application is the same as what Zope uses,
of course.
 
R

Rene Pijlman

Terry Hancock:
Rene Pijlman:

I think this should work, actually.

ZODB is just like other databases in that each application
is going to make its own database. That is, there is a
different top-level object. At least I think this is true.

The databases will be separate of course. But I'd expect namespace
conflicts with two ZODB's being installed when starting Zope (one in
Python's site-packages, one in Zope's lib/python).

ZODB's README says:
"This version of ZODB can be used with Zope 2.7.3 or later, but you must
replace the version of ZODB that comes packaged with Zope. It should be
possible, for example, to install this code into a Zope 2.7 software
home."

But I'm not quite sure how that would work. Also, "should be possible"
leaves room for doubt :)
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,015
Latest member
AmbrosePal

Latest Threads

Top