I found a solution to my problem with the help of some PyOpenGL people on their newsgroup. I ended up doing it with py2exe, but I think it can be applied to cx_Freeze as well.
I wrote up the steps involved in the following post: "[PyOpenGL-Users] HOWTO freeze PyOpenGL programs with py2exe" http://sourceforge.net/mailarchive/forum.php?thread_name=eb8474fe0911100101u9dd7d24ibd1c56f2b2c1599e%40mail.gmail.com&forum_name=pyopengl-users Hope this is useful to someone. Cheers Jef -----Original Message----- From: Mangelschots, Jef Sent: Monday, November 09, 2009 11:21 AM To: primary discussion list for use and development of cx_Freeze Subject: [cx-freeze-users] import error for PyOpenGL program I am going through the book OpenGL SuperBible, and as the examples become more complicated, I start experiencing more problems freezing them (thety run fine interpreted). I am using PyOpenGL. I get the following runtime error when running the executable: I guess I must be importing something, but what ? (I have attached the source code and cx_Freeze output) Traceback (most recent call last): File "c:\python26\lib\site-packages\cx_Freeze\initscripts\Console.py", line 27, in <module> exec code in m.__dict__ File "sphereworld.py", line 264, in <module> SetupRC() File "sphereworld.py", line 66, in SetupRC glLightModelfv(GL_LIGHT_MODEL_AMBIENT, fNoLight) File "c:\python26\lib\site-packages\OpenGL\wrapper.py", line 1294, in __call__ return self.finalise()( *args, **named ) File "c:\python26\lib\site-packages\OpenGL\wrapper.py", line 561, in wrapperCall pyArgs = tuple( calculate_pyArgs( args )) File "c:\python26\lib\site-packages\OpenGL\wrapper.py", line 346, in calculate_pyArgs yield converter(args[index], self, args) File "c:\python26\lib\site-packages\OpenGL\converters.py", line 132, in __call__ return self.function( incoming ) File "c:\python26\lib\site-packages\OpenGL\arrays\arraydatatype.py", line 135, in asArray return cls.getHandler(value).asArray( value, typeCode or cls.typeConstant ) File "c:\python26\lib\site-packages\OpenGL\arrays\arraydatatype.py", line 42, in __call__ handler = handler.load() File "c:\python26\lib\site-packages\OpenGL\plugins.py", line 14, in load return importByName( self.import_path ) File "c:\python26\lib\site-packages\OpenGL\plugins.py", line 28, in importByName module = __import__( ".".join(moduleName), {}, {}, moduleName) ImportError: ('No module named lists', <OpenGL.converters.CallFuncPyConverter object at 0x00EFB730>) I have attached the source code. I am running the following software: Windows XP Python 2.6.4 PyOpenGL-3.0.1a3 cx_Freeze-4.1.win32-py26 Any files attached to this e-mail will have been checked with virus detection software prior to transmission but you should carry out your own virus check before opening any attachment. Safetran Systems Corp does not accept liability for any damage or loss which may be caused by software viruses. The contents of this e-mail and any attachments are the property of Safetran Systems Corp and are intended for the confidential use by the named recipient only. They may be legally privileged and should not be communicated to, or relied upon, by any other person without written consent. If you are not the addressee, please notify us immediately at the following address: Safetran Systems Corporation, 2400 Nelson Miller Parkway, Louisville, Kentucky 40223. Safetran Systems Corp is a subsidiary of Invensys Plc. Registered office: Portland House, Bressenden Place, London, SW1E 5BF. UK Registered in England and Wales No. 1641421. ------------------------------------------------------------------------------ Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july _______________________________________________ cx-freeze-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/cx-freeze-users
