Zipped apps are common way to publish apps :) OS X can unzipp them and users can run the app. Another way is to make a disk image (DMG) and place the app in the disk image. Compressed DMG has the size close to a ZIP archive, and can have nice installer (a.k.a. copy to Applications), readmes etc.<br>
<br>15MB Zipped is the &quot;ok&quot; size :) <br><br>As for the PyQt4 installer - you have to compile it, but the final py2app made app doesn&#39;t require for the user to install anything. The app will run on it&#39;s own :)<br>
<br><br><div class="gmail_quote">W dniu 27 czerwca 2009 14:03 użytkownik Michael Held <span dir="ltr">&lt;<a href="mailto:michael.held@bc.biol.ethz.ch">michael.held@bc.biol.ethz.ch</a>&gt;</span> napisał:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
hi piotr,<br>
<br>
yes, it looks like PyQt4 is using a lot of Pythons standard packages, so<br>
all the files in Contents/Resources/lib/python2.6/lib-dynload are most<br>
probably needed...<br>
<br>
I zipped and got 70MB with Qt debug files (from 200MB)<br>
and 15MB without (from 43MB).<br>
is there a way to provide an .app file with zipped content which is<br>
unzipped on the fly?<br>
<br>
currently there is not installer for PyQt4.5 on MacOS available, right?!<br>
I was compiling everything from scratch (I am also working with<br>
Stackless Python 2.6.2). I guess there is a way to compile PyQt4 in<br>
universal mode... somehow ;-)<br>
<br>
thanks a lot again! :-)<br>
<div class="im">cheers<br>
michael<br>
<br>
<br>
piotr maliński wrote:<br>
</div><div class="im">&gt; Debug libraries don&#39;t get excluded by &quot;excludes&quot; list so they will have<br>
&gt; to be removed. Also the package includes everything needed to run it -<br>
&gt; also some Python components.<br>
&gt; /Contents/Resources/lib/ 9,5 MB in my case<br>
&gt; /Contents/Frameworks/  24,8 MB<br>
&gt;<br>
&gt; And it zipps to 12MB<br>
&gt;<br>
&gt; Note that the resulting binary has some symlinks (in libs for example)<br>
&gt; and calculating size on Mac OS X will count the symlinked (alias) files<br>
&gt; in :) So check zipped size :)<br>
&gt;<br>
&gt; If you used Qt with Qt Creator or custom Qt compilation on Intel Mac<br>
&gt; then you have Intel-only Qt and you will get Intell only App. If you<br>
&gt; used the Qt DMG without Qt Creator then you got Universal Qt and your<br>
&gt; app will be universal and DOUBLE size :) (22-24MB Zipped for<br>
&gt; qtcore/qtgui app).<br>
&gt;<br>
&gt;<br>
&gt; 2009/6/27 Michael Held &lt;<a href="mailto:michael.held@bc.biol.ethz.ch">michael.held@bc.biol.ethz.ch</a><br>
</div><div><div></div><div class="h5">&gt; &lt;mailto:<a href="mailto:michael.held@bc.biol.ethz.ch">michael.held@bc.biol.ethz.ch</a>&gt;&gt;<br>
&gt;<br>
&gt;     hi piotr,<br>
&gt;<br>
&gt;     thanks a lot for your help!<br>
&gt;<br>
&gt;     aral balkan writes on his page that one &quot;can remove the Qt debug files&quot;.<br>
&gt;     these are ~150MB in my case and the *biggest* part of the problem.<br>
&gt;     I guess I need to write a &quot;better&quot; Qt4 recipe for pyapp or I have to add<br>
&gt;     some kind of clean-up step after the execution of py2app...<br>
&gt;<br>
&gt;     furthermore Contents/Resources/lib/python2.6/lib-dynload contains ~14MB<br>
&gt;     of python packages which are not used by my &quot;empty&quot; script (and I assume<br>
&gt;     PyQt4 is not using those as well...<br>
&gt;<br>
&gt;     again, I am happy with a 40MB .app file but a 200MB file just to much<br>
&gt;     overhead.<br>
&gt;<br>
&gt;     does anybody know how to tweak the PyQt4 recipe of py2app? I had a short<br>
&gt;     look on the code but could not find the right script.<br>
&gt;     or would it be helpful to work with the latest svn revision instead the<br>
&gt;     released version 0.3.6?<br>
&gt;<br>
&gt;     cheers<br>
&gt;     michael<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;     piotr maliński wrote:<br>
&gt;     &gt; check out my tutorial:<br>
&gt;     &gt; <a href="http://www.rkblog.rk.edu.pl/w/p/building-mac-os-x-applications-py2app/" target="_blank">http://www.rkblog.rk.edu.pl/w/p/building-mac-os-x-applications-py2app/</a><br>
&gt;     &gt;<br>
&gt;     &gt; QtCore/QtGui app zipped should be about 12MB intel-only (22MB if<br>
&gt;     you use<br>
&gt;     &gt; Universal Qt - thus making universal py2app application)<br>
&gt;     &gt;<br>
&gt;     &gt; 2009/6/27 Michael Held &lt;<a href="mailto:michael.held@bc.biol.ethz.ch">michael.held@bc.biol.ethz.ch</a><br>
&gt;     &lt;mailto:<a href="mailto:michael.held@bc.biol.ethz.ch">michael.held@bc.biol.ethz.ch</a>&gt;<br>
&gt;     &gt; &lt;mailto:<a href="mailto:michael.held@bc.biol.ethz.ch">michael.held@bc.biol.ethz.ch</a><br>
&gt;     &lt;mailto:<a href="mailto:michael.held@bc.biol.ethz.ch">michael.held@bc.biol.ethz.ch</a>&gt;&gt;&gt;<br>
&gt;     &gt;<br>
&gt;     &gt;     hi pyqt,<br>
&gt;     &gt;<br>
&gt;     &gt;     I am using PyQt4.5 and py2app 0.3.6 on MacOS 10.5<br>
&gt;     &gt;<br>
&gt;     &gt;     &gt; from setuptools import setup<br>
&gt;     &gt;     &gt;<br>
&gt;     &gt;     &gt; APP = [&#39;MyApp.py&#39;]<br>
&gt;     &gt;     &gt; DATA_FILES = []<br>
&gt;     &gt;     &gt; OPTIONS = {&#39;argv_emulation&#39;: True,<br>
&gt;     &gt;     &gt;            &#39;includes&#39;: [],<br>
&gt;     &gt;     &gt;            }<br>
&gt;     &gt;     &gt;<br>
&gt;     &gt;     &gt; setup(<br>
&gt;     &gt;     &gt;     app=APP,<br>
&gt;     &gt;     &gt;     data_files=DATA_FILES,<br>
&gt;     &gt;     &gt;     options={&#39;py2app&#39;: OPTIONS},<br>
&gt;     &gt;     &gt;     setup_requires=[&#39;py2app&#39;],<br>
&gt;     &gt;     &gt; )<br>
&gt;     &gt;<br>
&gt;     &gt;     running this setup.py PyQt4, sip and the Qt framework are<br>
&gt;     detected and<br>
&gt;     &gt;     the app runs fine,<br>
&gt;     &gt;<br>
&gt;     &gt;     *BUT* the app is 200MB (TWOHUNDRET MEGABYTES) big and its<br>
&gt;     doing nothing<br>
&gt;     &gt;     but opening an empty QFrame.<br>
&gt;     &gt;     I looked into the app-contents and found a lot of debug stuff<br>
&gt;     for the<br>
&gt;     &gt;     QtGui/QtCore Frameworks.<br>
&gt;     &gt;<br>
&gt;     &gt;     after deleting these files the app was still running fine and<br>
&gt;     only 42MB<br>
&gt;     &gt;     big (I found a lot of Pyhton libs/packages in there which are<br>
&gt;     not used<br>
&gt;     &gt;     at all)<br>
&gt;     &gt;<br>
&gt;     &gt;     42MB for an &quot;empty program&quot; is ok, since all my scripts will<br>
&gt;     not add<br>
&gt;     &gt;     much size, but 200MB is just *too big*.<br>
&gt;     &gt;     it looks like py2app is including a lot of unnecessary stuff...<br>
&gt;     &gt;     could stackless Python 2.6.2 is the problem?<br>
&gt;     &gt;<br>
&gt;     &gt;     thanks a lot for your help!<br>
&gt;     &gt;     michael<br>
&gt;     &gt;<br>
&gt;     &gt;     _______________________________________________<br>
&gt;     &gt;     PyQt mailing list    <a href="mailto:PyQt@riverbankcomputing.com">PyQt@riverbankcomputing.com</a><br>
&gt;     &lt;mailto:<a href="mailto:PyQt@riverbankcomputing.com">PyQt@riverbankcomputing.com</a>&gt;<br>
</div></div>&gt;     &gt;     &lt;mailto:<a href="mailto:PyQt@riverbankcomputing.com">PyQt@riverbankcomputing.com</a><br>
<div><div></div><div class="h5">&gt;     &lt;mailto:<a href="mailto:PyQt@riverbankcomputing.com">PyQt@riverbankcomputing.com</a>&gt;&gt;<br>
&gt;     &gt;     <a href="http://www.riverbankcomputing.com/mailman/listinfo/pyqt" target="_blank">http://www.riverbankcomputing.com/mailman/listinfo/pyqt</a><br>
&gt;     &gt;<br>
&gt;     &gt;<br>
&gt;<br>
&gt;     _______________________________________________<br>
&gt;     PyQt mailing list    <a href="mailto:PyQt@riverbankcomputing.com">PyQt@riverbankcomputing.com</a><br>
&gt;     &lt;mailto:<a href="mailto:PyQt@riverbankcomputing.com">PyQt@riverbankcomputing.com</a>&gt;<br>
&gt;     <a href="http://www.riverbankcomputing.com/mailman/listinfo/pyqt" target="_blank">http://www.riverbankcomputing.com/mailman/listinfo/pyqt</a><br>
&gt;<br>
&gt;<br>
<br>
_______________________________________________<br>
PyQt mailing list    <a href="mailto:PyQt@riverbankcomputing.com">PyQt@riverbankcomputing.com</a><br>
<a href="http://www.riverbankcomputing.com/mailman/listinfo/pyqt" target="_blank">http://www.riverbankcomputing.com/mailman/listinfo/pyqt</a><br>
</div></div></blockquote></div><br>