VPyton and py2exe

"Jason Morgan" <j.a.morgan-puGfsi27rH1aa/[email protected]>
Newsgroups gmane.comp.python.visualpython.user
Message-ID <[email protected]>
Hi,
 There is a bug in vpython where it fails with py2exe.

 The problem is that it fails to find the texture bitmap files and raises an exception.
I can see that it is because Visual loads a number of texture bitmaps in vis/material.py regardless of even if material are being used (for me they are not).
 Then to make matters worse they don't seem to be referred to in such a way as is compatible with py2exe.

 It seems the use of __file__ to find the location of the module in materials.py is not very portable as __file__ becomes the name of the .exe when compiled into a standalone program.

 I have found that you can modify materials.py, at about line 151, thus:

 ...
 import sys
 if hasattr(sys,'frozen') and (sys.frozen=="windows_exe" or sys.frozen=="console_exe"):
 texturePath="visual\\"
 else:
 texturePath = os.path.split( __file__ )[0] + "/"
 del sys
 ...

 and then add to your setup.py something like:

 ...
 import sys,glob
 ...
 visual_materials = ( r'visual', glob.glob(sys.exec_prefix+'\\Lib\site-packages\\vis\\*.tga' ))
 ...
 setup(
 data_files = [visual_materials], ...etc...
 ...

 This creates a \visual\ folder in your distribution and that contains the missing bitmaps.

 Please consider adding the above fix to the visual materials module.

 However I still don't think this is ideal.
 I think it should be possible to use img2py (from wxPython) to embed the images in a file if the code is frozen (i.e. has been .exe'd)

 A more impressive solution would be to make it such that they are only loaded if an instance of a material that uses them is created, but I am not confident with the inner workings of visual to make that so.

 Cheers,
 Jason

------------------------------------------------------------------------------
The demand for IT networking professionals continues to grow, and the
demand for specialized networking skills is growing even more rapidly.
Take a complimentary Learning@Cisco Self-Assessment and learn 
about Cisco certifications, training, and career opportunities. 
http://p.sf.net/sfu/cisco-dev2dev

_______________________________________________
Visualpython-users mailing list
Visualpython-users-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
https://lists.sourceforge.net/lists/listinfo/visualpython-users
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.