[PyKDE] How To Publish a pyqt application

V. Armando Sole sole at esrf.fr
Wed Mar 29 14:20:26 BST 2006

At 11:11 29/03/2006 +0200, linux at lexpress.net wrote:

>>The equivalent in my case would be:
>>cx_freeze -O --install-dir=whatever --include-modules=sip MyApp.py
>>and I need to add the tk, tcl, qt  and readline libraries.
>yesterday i have tried cx-freeze .
>and it works well (thank you)
>my command line was
>$freezepython --install-dir=myfolder --include-modules=sip myapp.py
>$cp $QTDIR/lib/libqt.so.3 myfolder/libqt.so.3
>and that's right , it works well

I'm sending a copy of this mail to the list just to let them know you 
succeeded ;-)

I added the readline version of my system because when freezing on SuSE8.2, 
the frozen application was not running under redhat enterprise 4. After the 
addition it was running on any platform I have tried.

>i would ask you about the -O option that i dosen't understand much .
>and i'd like you to give me some links or an exemple of your build 
>applications with cx-freeze and the command line that you typed to freeze it .

 From cx_freeze help:

  5) Added option -O (or -OO) to FreezePython to set the optimization used 
when generating bytecode.

I do not understand it either, but it should not harm to have any kind of 
optimization :-)
The command I use is the very same you use. I simply add a script to launch 
the application that takes care of positioning the library path.

>other thing is : i can't run my application frozen by linux in windows , 
>so is there a way to make that more portable ?
You have to setup python, qt,  pyqt, cx_freeze etc in windows and once your 
application is running on windows you can think about freezing it.  The 
good news is that you have many binaries available, so the installation 
should be quite fast.

If you use a commercial version of Qt, you will have to use the VendorID 
package (available from Riverbank) and build a signed version of cx_freeze. 
If you use PyQt4 you will not have that problem.



More information about the PyQt mailing list