def compile(fname): import os import sys import subprocess parts=os.path.splitext(fname) fid=open('setup_pyrex.py','w') fid.write("""from distutils.core import setup from distutils.extension import Extension from Pyrex.Distutils import build_ext setup( name = 'Demos', ext_modules=[ Extension("%s", ["%s"]) ], cmdclass = {'build_ext': build_ext} ) """ % (parts[0],fname)) fid.close() # os.system('c:/python25/python setup_pyrex.py build_ext --inplace') if sys.platform=='win32': cmdlist='c:/python25/python setup_pyrex.py build_ext --inplace'.split() output=subprocess.Popen( cmdlist,stdin=subprocess.PIPE, stdout=subprocess.PIPE,stderr=subprocess.PIPE) S=''.join(output.stdout.readlines())+''.join(output.stderr.readlines()) print S else: cmdlist='python setup_pyrex.py build_ext --inplace'.split() os.system(' '.join(cmdlist)) ## output=subprocess.Popen( ## cmdlist,stdin=subprocess.PIPE, ## stdout=subprocess.PIPE,stderr=subprocess.PIPE,close_fds=True)