Sebastian Hilbert <[EMAIL PROTECTED]> wrote:

> How can I check if the Gnumed.wxpython.gui exists in the package ?


You can use ArchiveViewer.py on your generated executable (or easier, on the
out??.pyz file in the build directory). This will display a list of all the
imported modules.

It's possible that GNUmed uses some sort of dynamic import to find out if
wxPython is present or not (something like that, I saw the word "gmPlugin" in
the traceback). If you're willing to debug this, you should have a look at the
code which does the import of Gnumed/wxpython (and generates the WARNING in the
log). You should try and understand how the import system works for GNUmed's
plugins. It's possible that the plugins are listed as literal strings in the
code, so PyInstaller can't know they're imports. You should also see a
"__import__ hack" warning among the PyInstaller warnings while building, which
should point you to the correct file/line immediately.

After that, you have several solutions. One is to explicitally import
"Gnumed.wxpython" yourself in your code. You don't even know to actually
execute the code:

if 0:  # hint for PyInstaller
   import Gnumed.wxpython   # yes, i want the wxpython plugin

Another one is playing with the hook system of PyInstaller (see manual).
Probably you need to create a hook-Gnumed.py file in the hooks directory of
PyInstaller, and extract the plugin list there. Look at what other hooks do,
it's pretty easy. This way, it should be possible to tell PyInstaller always to
link *all* the plugins available. It might be a little bloated, but surely
safe.

Giovanni Bajo

_______________________________________________
PyInstaller mailing list
[email protected]
http://lists.hpcf.upr.edu/mailman/listinfo/pyinstaller

Reply via email to