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