I am trying to compile my game on Mac. When I try to run my script to build the game using pfreeze I get this :
Traceback (most recent call last):
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/runpy.py", line 72, in _run_code
exec code in run_globals
File "/Developer/Panda3D/direct/showutil/pfreeze.py", line 161, in <module>
sys.exit(main())
File "/Developer/Panda3D/direct/showutil/pfreeze.py", line 148, in main
freezer.done(addStartupModules = addStartupModules)
File "/Developer/Panda3D/direct/showutil/FreezeTool.py", line 985, in done
self.__loadModule(mdef)
File "/Developer/Panda3D/direct/showutil/FreezeTool.py", line 1079, in __loadModule
fp = open(pathname, 'U')
IOError: [Errno 2] No such file or directory: 'example1.subfolder.start'
(the folder and subfolders are just examples of my program just replace them with real folder names and files in your mind.) Why is this? The folders and files exist and I'm in the current folder (build folder) where everything is located so why is panda3d not finding the file? I also have the init files in every folder and subfolder so that's not the problem. Is there any way I can fix this? Here is my code:
import argparse
import os
parser = argparse.ArgumentParser()
parser.add_argument('--main-module', default='example1.subfolder.Start',
help='The path to the instantiation module.')
parser.add_argument('modules', nargs='*', default=['example1', 'example2'],
help='The modules to be included in the build.')
args = parser.parse_args()
print 'Building the client...'
os.chdir('build')
cmd = ('ppython')
cmd += ' -m direct.showutil.pfreeze'
args.modules.extend(['direct', 'pandac'])
for module in args.modules:
cmd += ' -i {0}.*.*'.format(module)
cmd += ' -i {0}.*'.format('encodings')
cmd += ' -i {0}'.format('base64')
cmd += ' -i {0}'.format('site')
cmd += ' -o GameData.so'
cmd += ' {0}'.format(args.main_module)
os.system(cmd)
Question is resolved due to python2 being deprecated and panda3d using a new deploy tool.