packp3d wxPython package is broken in Linux

(I asked about this on IRC, but not that many people were online.)

I converted my Panda3D application to a .p3d file with:

packp3d -d ~/NetBeansProjects/OpenBlox\ Game\ Engine/src/ -m oblaunch.py -r ode -r morepy -r wx -o openbloxge.p3d

(In case you’re wondering, it’s a game development kit. Why “game engine,” then? Never bothered to change the name :slight_smile: )

That command output:

There are some missing modules: ['DLFCN', 'lupa', 'lupa._lupa', 'obengine.gfx', 'obengine.phys', 'obengine.utils', 'panda3d.core']
:egg2pg: Reading /home/<my username>/NetBeansProjects/OpenBlox Game Engine/src/data/brick.egg
:egg2pg: Flattened 0 nodes.
:egg2pg: Reading /home/<my username>/NetBeansProjects/OpenBlox Game Engine/src/data/brick_beveled.egg
:egg2pg: Flattened 0 nodes.
:egg2pg: Reading /home/<my username>/NetBeansProjects/OpenBlox Game Engine/src/data/sky.egg.pz
:gobj: Loading texture /home/<my username>/NetBeansProjects/OpenBlox Game Engine/src/data/sky1.png
:egg2pg: Flattened 1 nodes.
Generating openbloxge.p3d

So far, so good.

But when I try to run it with:

Traceback (most recent call last):
  File "/root/pandaworker/panda3d-1.7.0/built_cmu/direct/showbase/Messenger.py", line 352, in __taskChainDispatch
  File "/root/pandaworker/panda3d-1.7.0/built_cmu/direct/showbase/Messenger.py", line 410, in __dispatch
  File "/root/pandaworker/panda3d-1.7.0/built_cmu/direct/p3d/AppRunner.py", line 493, in __startIfReady
  File "VFSImporter", line 153, in load_module
  File "/home/alexander/NetBeansProjects/OpenBlox Game Engine/src/oblaunch.py", line 37, in <module>
    import wx
ImportError: No module named wx
:task(error): Exception occurred in PythonTask Messenger-default
Traceback (most recent call last):
  File "/root/pandaworker/panda3d-1.7.0/built_cmu/direct/p3d/AppRunner.py", line 411, in run
  File "/root/pandaworker/panda3d-1.7.0/built_cmu/direct/task/Task.py", line 496, in run
  File "/root/pandaworker/panda3d-1.7.0/built_cmu/direct/task/Task.py", line 454, in step
  File "/root/pandaworker/panda3d-1.7.0/built_cmu/direct/showbase/Messenger.py", line 352, in __taskChainDispatch
  File "/root/pandaworker/panda3d-1.7.0/built_cmu/direct/showbase/Messenger.py", line 410, in __dispatch
  File "/root/pandaworker/panda3d-1.7.0/built_cmu/direct/p3d/AppRunner.py", line 493, in __startIfReady
  File "VFSImporter", line 153, in load_module
  File "/home/<my username>/NetBeansProjects/OpenBlox Game Engine/src/oblaunch.py", line 37, in <module>
    import wx
ImportError: No module named wx
Successfully joined thread: 0
Failure on startup.

I then ran the .p3d applet in WINE. Worked perfectly.
So, it looks like the wxPython package is broken in Linux!
Anyone know any workarounds?

As always, I’m using Ubuntu 10.04 (Lucid Lynx) with Panda3D 1.7.0, with runtime version 1.0.0 .

P.S: I seem to recall another thread with a similar problem, but I’m not sure where.

Yeah, I’m aware of it. It’ll be fixed in the next release of Panda3D.

If you really need to test it beforehand, get packp3d_dev from runtime-dev.panda3d.org/ and pack your .p3d against the daily distribution - but only use that for testing, never distribute a .p3d file made by packp3d_dev.

So, then if I shouldn’t distribute a .p3d with a development version of packp3d, what should I do instead?

You could wait a couple of weeks until 1.7.1 is released.

You, sir, just defined “quick response” :slight_smile:

Hmm, I never knew 1.7.1 would be released so soon.
I think I’ll just wait, and in the meantime, try to port my wxPython stuff to DirectGUI, or treeform’s treegui system.

It looks like the development version works!
So, Panda 1.7.1 FTW! :smiley:
Thanks for the help!