[PyQt] pyqtdeployed app crashes on launch

Phil Thompson phil at riverbankcomputing.com
Mon Jul 14 09:17:36 BST 2014


On 14/07/2014 12:43 am, Dave Gradwell wrote:
> Hi Lloyd, thanks for the message.
> 
> I am still just using the example in
> /examples/mainwindows/application/application.py
> and the line of code reads
> import application_rc
> ... and application_rc.py exists as a sibling of application.py.
> 
> For what it's worth, the application runs as expected when interpreted
> with python3.4 from the command line (so the code intrinsically
> works).
> 
> I regenerated the file using pyrcc5 (just to be sure) - but to no 
> avail.
> (Yep, the file has content - and it works when application.py is run
> from a normal Python interpreter).
> 
>> You're building verbose?  Did you look at the makefile
>> and the log of
>> the compile?  Does the frozen file exist in the tmp
>> directory?
> I wasn't, but I am now.  The output in pyqtdeploy's 'build' tab is:
> ......
> Freezing /Users/admin/Desktop/app-4/application_rc.py
> Running '/Users/admin/Desktop/building/built/bin/python3.4m
> /var/folders/wq/k3bzbz7d4m15ddsw3psx003c0000gn/T/freeze.py --as-data
> /Users/admin/Desktop/app-4/build/resources/app-4/application_rc.pyf
> /Users/admin/Desktop/app-4/application_rc.py'
> ........
> 
> 
> There is a section in the Makefile that an expert might understand.
> It is the only mention of application_rc.
> ........
> compiler_rcc_make_all: qrc_pyqtdeploy.cpp qrc_stdlib.cpp 
> qrc_site-packages.cpp
> compiler_rcc_clean:
>     -$(DEL_FILE) qrc_pyqtdeploy.cpp qrc_stdlib.cpp 
> qrc_site-packages.cpp
> qrc_pyqtdeploy.cpp: resources/pyqtdeploy.qrc \
>         resources/app-4/application_rc.pyf
>     /Users/admin/Qt5.3.1/5.3/clang_64/bin/rcc -name pyqtdeploy
> resources/pyqtdeploy.qrc -o qrc_pyqtdeploy.cpp
> 
> qrc_stdlib.cpp: resources/stdlib.qrc \
> .......

So you are attempting to nest resource files? Even if this worked I'm 
not sure it's a good idea.

It looks like pyqtdeploy needs to detect when a .qrc file is specified 
as part of the application and to add it to the .pro file. You can try 
this manually. You would also need to remove the import of the pyrcc5 
generated module (or make it conditional).

Phil


More information about the PyQt mailing list