What's a good way to handle fatal errors - missing packages, .ui files not compiled, Qt DLLs or shared objects not found, etc. - in a PyQt app (or other Python app)?
Displaying a cross-platform message box without Qt DLLs or shared objects seems like a lot of work.  Dumping a message to the console seems not very helpful, since the end user will likely not see the console.  How do other Python apps handle this?  Or do they simply assume that a properly installed app won't run into these problems?
The distutils model handles installing a python app correctly, or there is a third party setuptools package that is even easier for end users.
Handling missing packages or DLLs in a PyQt app