From: Joel V. <joe...@gm...> - 2010-01-14 15:45:44
|
I did that and the problem persists. I am on Windows 7 and XP (tried both). I took out all references to pygame.font and it work alright. pygame.font is kind of important to the functioning of my program, so that is not an option. Any other suggestions? On Thu, Jan 14, 2010 at 4:45 AM, Werner F. Bruhin <wer...@fr...>wrote: > Joel Verhagen wrote: > > Hey there, > > > > I'm having some trouble with compiling my pygame. I have Python version > > 2.6.4, py2exe 0.6..9, and Pygame 1.9.1. Here is my setup.py script: > > > > ========================================================== > > > > # This will create a dist directory containing the executable file, all > > the data > > # directories. All Libraries will be bundled in executable file. > > # > > # Run the build process by entering 'pygame2exe.py' or > > # 'python pygame2exe.py' in a console prompt. > > # > > # To build exe, python, pygame, and py2exe have to be installed. After > > # building exe none of this libraries are needed. > > > > try: > > from distutils.core import setup > > import py2exe, pygame > > from modulefinder import Module > > import glob, fnmatch > > import sys, os, shutil > > except ImportError, message: > > raise SystemExit, "Unable to load module. %s" % message > > > > class pygame2exe(py2exe.build_exe.py2exe): #This hack make sure that > > pygame default font is copied: no need to modify code for specifying > > default font > > def copy_extensions(self, extensions): > > #Get pygame default font > > pygamedir = os.path.split(pygame.base.__file__)[0] > > pygame_default_font = os.path.join(pygamedir, > > pygame.font.get_default_font()) > > > > #Add font to list of extension to be copied > > extensions.append(Module("pygame.font", pygame_default_font)) > > py2exe.build_exe..py2exe.copy_extensions(self, extensions) > > > > class BuildExe: > > def __init__(self): > > #Name of starting .py > > self.script = "set.py" > > > > #Name of program > > self.project_name = "Set" > > > > #Project url > > self.project_url = "http://www.example.com" > > > > #Version of program > > self.project_version = "1.0" > > > > #License of the program > > self.license = "MyApps LicenseMyApps License" > > > > #Auhor of program > > self.author_name = "Me" > > self.author_email = "ex...@ex... > > <mailto:ex...@ex...>" > > self.copyright = "Copyright (c) 2009 Me." > > > > #Description > > self.project_description = "MyApps Description" > > > > #Icon file (None will use pygame default icon) > > self.icon_file = None > > > > #Extra files/dirs copied to game > > self.extra_datas = ['resources'] > > > > #Extra/excludes python modules > > self.extra_modules = [] > > self.exclude_modules = [] > > > > #DLL Excludes > > self.exclude_dll = [''] > > > > #Zip file name (None will bundle files in exe instead of zip > file) > > self.zipfile_name = None > > > > #Dist directory > > self.dist_dir ='dist' > > > > ## Code from DistUtils tutorial at > > http://wiki.python.org/moin/Distutils/Tutorial > > ## Originally borrowed from wxPython's setup and config files > > def opj(self, *args): > > path = os.path.join(*args) > > return os.path.normpath(path) > > > > def find_data_files(self, srcdir, *wildcards, **kw): > > # get a list of all files under the srcdir matching wildcards, > > # returned in a format to be used for install_data > > def walk_helper(arg, dirname, files): > > if '.svn' in dirname: > > return > > names = [] > > lst, wildcards = arg > > for wc in wildcards: > > wc_name = self.opj(dirname, wc) > > for f in files: > > filename = self.opj(dirname, f) > > > > if fnmatch.fnmatch(filename, wc_name) and not > > os.path.isdir(filename): > > names.append(filename) > > if names: > > lst.append( (dirname, names ) ) > > > > file_list = [] > > recursive = kw.get('recursive', True) > > if recursive: > > os..path.walk(srcdir, walk_helper, (file_list, wildcards)) > > else: > > walk_helper((file_list, wildcards), > > srcdir, > > [os.path.basename(f) for f in > > glob.glob(self.opj(srcdir, '*'))]) > > return file_list > > > > def run(self): > > if os.path.isdir(self.dist_dir): #Erase previous destination dir > > shutil.rmtree(self.dist_dir) > > > > #Use the default pygame icon, if none given > > if self.icon_file == None: > > path = os.path.split(pygame.__file__)[0] > > self.icon_file = os.path.join(path, 'pygame.ico') > > > > #List all data files to add > > extra_datas = [] > > for data in self.extra_datas: > > if os.path.isdir(data): > > extra_datas.extend(self.find_data_files(data, '*')) > > else: > > extra_datas.append(('.', [data])) > > > > setup( > > cmdclass = {'py2exe': pygame2exe}, > > version = self.project_version, > > description = self.project_description, > > name = self.project_name, > > url = self.project_url, > > author = self.author_name, > > author_email = self.author_email, > > license = self.license, > > > > # targets to build > > windows = [{ > > 'script': self.script, > > 'icon_resources': [(0, self.icon_file)], > > 'copyright': self.copyright > > }], > > options = {'py2exe': {'optimize': 2, 'bundle_files': 1, > > 'compressed': True, \ > > 'excludes': self.exclude_modules, > > 'packages': self.extra_modules, \ > > 'dll_excludes': self.exclude_dll} }, > > zipfile = self.zipfile_name, > > data_files = extra_datas, > > dist_dir = self.dist_dir > > ) > > > > if os.path.isdir('build'): #Clean up build dir > > shutil.rmtree('build') > > > > if __name__ == '__main__': > > if len(sys.argv) < 2: > > sys.argv.append('py2exe') > > BuildExe().run() #Run generation > > raw_input("Press any key to continue") #Pause to let user see that > > things ends > > > > ========================================================== > > > > It compiles fine, but when I run my 'set.exe' is creates a error log > > with the following contents. > > > > Traceback (most recent call last): > > File "set.py", line 1, in <module> > > File "zipextimporter.pyo", line 98, in load_module > > ImportError: MemoryLoadLibrary failed loading pygame\font.pyd > > > > Any ideas on what the problem is and how I can fix it? > Try it with bundle_files set to 2 or 3. 1 often causes problems, I > personally use 2 with the zip file option. > > Werner > > > > ------------------------------------------------------------------------------ > Throughout its 18-year history, RSA Conference consistently attracts the > world's best and brightest in the field, creating opportunities for > Conference > attendees to learn about information security's most important issues > through > interactions with peers, luminaries and emerging and established companies. > http://p.sf.net/sfu/rsaconf-dev2dev > _______________________________________________ > Py2exe-users mailing list > Py2...@li... > https://lists.sourceforge.net/lists/listinfo/py2exe-users > -- Joel Verhagen http://www.wintallo.com |