[Zope3-dev] Re: AW: relying on win32api in windows support ofzc.zope3recipes

Martijn Faassen faassen at startifact.com
Fri Aug 17 16:12:07 EDT 2007


Hey,

On 8/17/07, Sidnei da Silva <sidnei at enfoldsystems.com> wrote:
> On 8/17/07, Martijn Faassen <faassen at startifact.com> wrote:
> > > If an egg is the only way to install dependencies, then I would say
> > > that buildout needs more work. From what I understand it would be
> > > extremely hard to eggify pywin32.
> >
> > It's not the only way, but it's definitely the preferred way. A
> > click-through windows installer is definitely *not* the preferred way.
>
> My guess is that you don't have much of a clue about how distutils
> work, more below. :)

Huh?

> > Is there way to install pywin32 by grabbing some .dlls online and them
> > in the right place? (wherever that would be, I guess we'd have a
> > custom part). We can write a recipe that does that.
>
> PyWin32 does use distutils, but it has a ton custom code. I haven't
> tried to build an egg, but my guess is that it might work
> out-of-the-box actually.

> As for the result of distutils 'bdist_wininst' which is what PyWin32
> and many other things out there that provide a installer for Windows
> use, it is basically a ZIP file with a executable header, just like
> those self-extracting files created by WinZip and similar apps. So you
> can unzip the PyWin32 installer and copy the binary files and .py
> files to the right locations, then it should Just Work (TM).

And PyWin32's installer is the result of a bdist_wininst? I didn't know the
pywin32 installer was created using bdist_wininst, and I didn't know that
bdist_wininst creates a zipfile. Is this what makes you guess I don't have a
clue about how distutils works in general?

Anyway, that's good news.

> > Why is it extremely hard to eggify pywin32? I guess it doesn't use
> > distutils? If it's such a useful if not essential requirement on
> > windows, why doesn't it work with the python installation
> > infrastructure?
>
> The python installation infrastructure is still distutils, not eggs.
>
> PyWin32 creates entries in the Start Menu for the documentation and
> PythonWin for example. I don't think that would work with eggs. But in
> the case of just getting the binaries in place, then an egg might
> actually be feasible.

We're just talking about Zope here, and installing Zope into its own
buildout (possibly sharing eggs with another). This means we don't care much
about installing the documentation anyway, just having the libraries
importable so that Zope can do its work on windows.

Of course it's possible just having the dlls on the path might not be good
enough - perhaps some (say) registry manipulation is needed in order to make
them work properly. Do you know whether such might be the case?

You're giving me the impression here that it might be less than extremely
hard to eggify pywin32 for our particular use cases.

Anyway, even if it turns out too hard to get an egg going, the zipfile-ish
nature of the installer gives me hope that we can at least write a custom
recipe that installs the dlls into a part. Of course we'd need some logic
that manipulated the environment in buildout-generated scrips so that these
dlls can be accessed from them..

Regards,

Martijn
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.zope.org/pipermail/zope3-dev/attachments/20070817/8063b332/attachment.htm


More information about the Zope3-dev mailing list