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