[PyQt] Re: py2app generates huge files (200MB)

piotr maliński riklaunim at gmail.com
Sat Jun 27 23:01:21 BST 2009


You can use the (compressed) DMG but it's not a direct way of using an app
:)


W dniu 27 czerwca 2009 16:33 użytkownik Michael Held <
michael.held at bc.biol.ethz.ch> napisał:

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


More information about the PyQt mailing list