[Zope3-dev] Lets replace lib/python with python in CVS
Guido van Rossum
guido@python.org
Mon, 16 Dec 2002 11:05:05 -0500
> JF> As part of the package move, lets's get rid of lib. So, the
> JF> Zope CVS will have a top-level python directory that contains
> JF> the included package. When running from a CVS checkout, which
> JF> I want to be able to do, we will add python, ratyher than
> JF> lib/python to the Python path.
[BAW]
> There's one use case to consider to the contrary. I often have a
> development tree of ZODB and a development tree of Zope2, and I want
> to run Zope with my ZODB development tree, without having to pollute
> my site-packages or play twisty games with PYTHONPATH. Distutils
> makes this really nice because I can just do something like:
>
> python setup.py install --home=/path/to/zope2
>
> in ZODB and all the relevant files get installed in
> /path/to/zope2/lib/python. I initially disliked Zope's lib/python but
> this does make things very convenient.
>
> There are other distutils switches that can be used to install
> packages into specific directories, but unlike with --home, there' sno
> one that works for all files. E.g. you can use --install-lib, but
> there are certain things that won't install in the correct location.
> I've found I've also had to use --install-purelib and --install-data
> in some situations.
>
> Please consider this use case when making the decision to get rid of
> lib/python (or some part thereof).
But isn't it just as easy to create a symlink to (or a separate
checkout of) ZODB in your Zope2 development tree, rather than doing an
install? (In either case, there are some conflicts because Zope2's
lib/python contains some directories with the same name as those that
ZODB would install; I think the CVS route make this slightly less
confusing than the install.)
--Guido van Rossum (home page: http://www.python.org/~guido/)