[Distutils] Beta release of zc.buildout 1.5.0
Jonathan Ballet
jon at multani.info
Fri Apr 30 17:16:05 CEST 2010
Hi,
On Thu, 29 Apr 2010 22:28:33 -0400, Gary Poster
<gary.poster at canonical.com>
wrote:
> I have made a beta release of zc.buildout 1.5.0.
>
> Among other changes, this release includes the ability to use
zc.buildout
> with a system Python, if you use the new z3c.recipe.scripts instead of
> zc.recipe.egg for generating scripts.
>
> Changelog:
>
> http://pypi.python.org/pypi/zc.buildout/1.5.0b1#b1-2010-04-29
Additional comments, with respects to the mail of Chris McDonough (I hit
the same kind of issues).
1. It looks like something has changed in the way bootstrap run, in
relation to the "buildout:index" value in buildout.cfg. Here, we use an
internal Pypi index, which points to a list of *our* packages, and so, the
value of "buildout:index" refers to this server.
However, it seems now that bootstrap take this value to look for
setuptools/distribute packages while bootstrapping. In our configuration,
this fails with the following error:
$ python bootstrap.py
Creating directory '/home/jon/projects/sa/repos/unstable/sact.dbapi/bin'.
Creating directory
'/home/jon/projects/sa/repos/unstable/sact.dbapi/parts'.
Creating directory '/home/jon/projects/sa/repos/unstable/sact.dbapi/eggs'.
Creating directory
'/home/jon/projects/sa/repos/unstable/sact.dbapi/develop-eggs'.
Couldn't find index page for 'distribute' (maybe misspelled?)
Getting distribution for 'distribute'.
While:
Bootstrapping.
Getting distribution for 'distribute'.
Error: Couldn't find a distribution for 'distribute'.
.. since our server doesn't contain this package.
If I create a ~/.pydistutils.cfg, with "easy_install:index-url" value to
the official Pypi, everything goes fine (bootstrap + buildout).
2. In the previous point, I omitted to say that we are using an old
bootstrap.py, a little bit customized (with a dirty hack which gets
ez_setup.py on our internal server (sounds familiar? ;))
I tried to use the latest bootstrap.py, and I ran into the same problem as
Chris, since my Python executable was from a Virtualenv.
I dig a little bit into the problem, and it looks like the -S option
bootstrap.py passes to Python executable if it detects that it runs from a
non-isolated environment causes this problem. In fact, Virtualenv currently
only copies (with symlinks) some of the stdlib modules into its environment
(I'm not sure why specifically those), and also add the global stdlib
directory into sys.path.
However, running Virtualenv's Python with the -S remove the global stdlib
from the sys.path! (in particular, it removes /usr/lib/python2.5 on my
machine):
I'm not sure this could help, but this was just a sharing of what I found.
Despite those problems, I'm eager to test further this new release of
Buildout, thanks for your work!
Jonathan
More information about the Distutils-SIG
mailing list