At 10:59 AM 8/17/2007 +0100, Luis Bruno wrote:
>The really *big* -1 this has is that I'm basically gonna
be using
>--single-version-externally-managed eggs (which makes it
impossible to
>have multiple "inactive" versions and
require() them, if I understood
>Phillip Eby correctly).
You can have inactive versions and require() them, they just
have to
be .egg files or directories. You can have a
"default" version
that's installed --single-version, e.g. by a system package
manager
such as RPM.
>I was thinking "sync local" re-gets the
repository's Packages
>master-list. Then you read in the locally installed ones
(which is a
>matter of traversing sys.path and looking for the
.egg-info files; I
>think those are now (as of 2.5) expected to be there.
Please, please, *please* use the published APIs in
pkg_resources for
this. Too many people are writing tools that inspect egg
files and
directories directly -- and get it only partly right, making
assumptions about the formats that aren't valid across
platforms,
Python versions, etc., etc.
In general, if you are doing absolutely *anything* with
on-disk
formats of eggs, and you didn't read enough of the docs to
find the
equivalent APIs, it's a near-certainty that you don't
understand the
format well enough to write your own versions. Meanwhile,
pkg_resources is proposed for inclusion in the Python 2.6
stdlib, so
it's not like it's going to be hard to get a hold of.
In this particular example, by the way, if you want to find
all
locally installed packages, you probably want to be using an
Environment instance, which indexes all installed packages
by package
name, and gives you objects you can inspect in a variety of
ways,
including using .get_metadata('PKG-INFO') calls to read the
.egg-info
files -- or .egg-info/PKG-INFO, or EGG-INFO/PKG-INFO, or
whatever
file is actually involved. (This is why you need to use the
API --
there are a lot of devils in the details.)
>I think easy_install -f <url> can work against an
Apache directory
>index.
Yes.
>I thought that was the whole point behind it, really.
One of them, anyway. There are other aspects besides -f
that work
for directory indexes, such as PyPI "home page"
and "download" URL links.
_______________________________________________
Catalog-SIG mailing list
Catalog-SIG python.org
h
ttp://mail.python.org/mailman/listinfo/catalog-sig
|