Hey,<br><br>On 8/17/07, Sidnei da Silva <<a href="mailto:sidnei@enfoldsystems.com">sidnei@enfoldsystems.com</a>> wrote:<br>> On 8/17/07, Martijn Faassen <<a href="mailto:faassen@startifact.com">faassen@startifact.com
</a>> wrote:<br>> > > If an egg is the only way to install dependencies, then I would say<br>> > > that buildout needs more work. From what I understand it would be<br>> > > extremely hard to eggify pywin32.
<br>> ><br>> > It's not the only way, but it's definitely the preferred way. A<br>> > click-through windows installer is definitely *not* the preferred way.<br>> <br>> My guess is that you don't have much of a clue about how distutils
<br>> work, more below. :)<br><br>Huh?<br><br>> > Is there way to install pywin32 by grabbing some .dlls online and them<br>> > in the right place? (wherever that would be, I guess we'd have a<br>> > custom part). We can write a recipe that does that.
<br>> <br>> PyWin32 does use distutils, but it has a ton custom code. I haven't<br>> tried to build an egg, but my guess is that it might work<br>> out-of-the-box actually.<br><br>> As for the result of distutils 'bdist_wininst' which is what PyWin32
<br>> and many other things out there that provide a installer for Windows<br>> use, it is basically a ZIP file with a executable header, just like<br>> those self-extracting files created by WinZip and similar apps. So you
<br>> can unzip the PyWin32 installer and copy the binary files and .py<br>> files to the right locations, then it should Just Work (TM).<br><br>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?
<br><br>Anyway, that's good news.<br><br>> > Why is it extremely hard to eggify pywin32? I guess it doesn't use<br>> > distutils? If it's such a useful if not essential requirement on<br>> > windows, why doesn't it work with the python installation
<br>> > infrastructure?<br>> <br>> The python installation infrastructure is still distutils, not eggs.<br>> <br>> PyWin32 creates entries in the Start Menu for the documentation and<br>> PythonWin for example. I don't think that would work with eggs. But in
<br>> the case of just getting the binaries in place, then an egg might<br>> actually be feasible.<br><br>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.
<br><br>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?
<br><br>You're giving me the impression here that it might be less than extremely hard to eggify pywin32 for our particular use cases.<br><br>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..
<br><br>Regards,<br><br>Martijn<br><br>