raise ImportError() except ImportError: _logger.info("Compiling C code for scan") dirname = 'scan_perform' # We use a .txt extensions as otherwise it don't get # included when we create a package to send to pypi # This happen even if we tell to include *.c files cfile = os.path.join(theano.__path__[0], 'scan_module', 'scan_perform.c.txt') code = open(cfile).read() loc = os.path.join(config.compiledir, dirname) if not os.path.exists(loc): os.mkdir(loc) cmodule.gcc_module_compile_str(dirname, code, location=loc, preargs = ['-pthread','-fwrapv', '-O2', '-fno-strict-aliasing']) # Save version into the __init__.py file. init_py = os.path.join(loc, '__init__.py') open(init_py, 'w').write('_version = %s\n' % version) # If we just compiled the module for the first time, then it was # imported at the same time: we need to make sure we do not # reload the now outdated __init__.pyc below. init_pyc = os.path.join(loc, '__init__.pyc') if os.path.isfile(init_pyc): os.remove(init_pyc) import scan_perform reload(scan_perform) from scan_perform import scan_perform as scan_c assert (scan_perform._version == scan_c.get_version())
import lazylinker_ext _need_reload = True if version != getattr(lazylinker_ext, '_version', None): raise ImportError() except ImportError: _logger.info("Compiling new CVM") dirname = 'lazylinker_ext' # We use a .txt extensions as otherwise it don't get # included when we create a package to send to pypi # This happen even if we tell to include *.c files cfile = os.path.join(theano.__path__[0], 'gof', 'lazylinker_c.c.txt') code = open(cfile).read() loc = os.path.join(config.compiledir, dirname) if not os.path.exists(loc): os.mkdir(loc) cmodule.gcc_module_compile_str(dirname, code, location=loc) # Save version into the __init__.py file. init_py = os.path.join(loc, '__init__.py') open(init_py, 'w').write('_version = %s\n' % version) # If we just compiled the module for the first time, then it was # imported at the same time: we need to make sure we do not # reload the now outdated __init__.pyc below. init_pyc = os.path.join(loc, '__init__.pyc') if os.path.isfile(init_pyc): os.remove(init_pyc) import lazylinker_ext reload(lazylinker_ext) from lazylinker_ext import lazylinker_ext as lazy_c assert (lazylinker_ext._version == lazy_c.get_version()) _logger.info("New version %s", lazylinker_ext._version)
_need_reload = True if version != getattr(lazylinker_ext, '_version', None): raise ImportError() except ImportError: _logger.info("Compiling new CVM") dirname = 'lazylinker_ext' # We use a .txt extensions as otherwise it don't get # included when we create a package to send to pypi # This happen even if we tell to include *.c files cfile = os.path.join(theano.__path__[0], 'gof', 'lazylinker_c.c.txt') code = open(cfile).read() loc = os.path.join(config.compiledir, dirname) if not os.path.exists(loc): os.mkdir(loc) cmodule.gcc_module_compile_str(dirname, code, location=loc) # Save version into the __init__.py file. init_py = os.path.join(loc, '__init__.py') open(init_py, 'w').write('_version = %s\n' % version) # If we just compiled the module for the first time, then it was # imported at the same time: we need to make sure we do not # reload the now outdated __init__.pyc below. init_pyc = os.path.join(loc, '__init__.pyc') if os.path.isfile(init_pyc): os.remove(init_pyc) import lazylinker_ext reload(lazylinker_ext) from lazylinker_ext import lazylinker_ext as lazy_c assert (lazylinker_ext._version == lazy_c.get_version()) _logger.info("New version %s", lazylinker_ext._version) finally: