[PEAK] PEAK currently doesn't build from CVS on Win32
Phillip J. Eby
pje at telecommunity.com
Tue Jul 13 14:46:37 EDT 2004
At 02:19 PM 7/13/04 +0000, Paul Moore wrote:
>The persistence module seems not to be present...
Perhaps you're working from an old checkout and not using -d when you
update? The current location of the persistence package is a new directory
put in four weeks ago; if you had an older checkout and didn't update with
-d, it won't have been created in your checkout. Similarly, you may still
have an empty directory at the old location of the package. Generally
speaking, it's best to update with '-dP', to purge empty directories and
check out new ones, and so I do it all the time even when I know full well
I haven't added or removed any directories. :)
>Also, there's a nasty looking problem if you import peak.binding.api direct
>into a new Python instance. I suspect that it's because you need to import
>something else first, to get an import hook in place, but nevertheless, it's
>I know, "Don't do that". But I wanted to import that module, just to do
>on it to get some information. In that context, directly importing just the
>module you want to look at seems like a reasonable thing to try...
Interesting. Apparently, the specific issue is that if the first place
peak.core is imported from is peak.config.interfaces, the 'whenImported()'
hooks in peak.core to declare the interfaces PropertyName supports, then
this happens. Probably the simple answer would be to take out the
whenImported hooks and just stick them directly into
peak.config.interfaces. I seem to recall they actually were there once,
but I moved them to be next to PropertyName for locality of reference.
In the meantime, import peak.core before anything else, and you'll be
fine. :) Note also that 'from peak.core import binding' will return you
the same module as peak.binding.api anyhow, and that's true for all the
core API modules.
More information about the PEAK